none
Alterar arquivo enviado para servidor RRS feed

  • Pergunta

  • Boa tarde senhores,

    Estou desenvolvendo uma página para publicação de artigos.

    Na parte administrativa, o autor pode cadastrar seu artigo e ao finalizar o preechimento do formulário, o mesmo anexa o artigo em formato pdf ou doc, por exemplo.

    Até aí tudo bem, estou utilizando para salvar o arquivo o controle FileUpload, através do comando: this.fupArquivo.SaveAs(fullPath);

    O problema começa quando o autor deseja alterar algum dado no formulário, ou mesmo alterar o arquivo enviado para o servidor, tendo em vista que uma vez enviado, não sabemos como apagar este arquivo, ou mesmo manter o caminho do mesmo quando o formúlário está sendo alterado.

    Alguém tem alguma idéia sobre como fazer?

    quarta-feira, 26 de setembro de 2012 17:48

Respostas

  • Aqui no exemplo uso

    File.Delete("/Arquivos/" + arquivo);

    onde variável aquivo vai ser carregada com nome vindo da base de dados. File tá no NameSpace System.IO. Quando for trazer um determinado artigo traz também o nome do arquivo referente ao mesmo. Ai quando o usuário clicar para fazer a atualização ele apaga o anterior e coloca o novo como no exemplo acima.


    sábado, 29 de setembro de 2012 00:40
    Moderador

Todas as Respostas

  • Olá Rafael,

     Você está usando banco de dados para salvar o caminho do arquivo?

    Seria algo assim

    salvar arquivo

                //salva o arquivo em disco
                var Diretorio = Server.MapPath("/Arquivos/");
                var Nome = FulArquivo.FileName;
    
                if (Nome != string.Empty)
                {
                    FulArquivo.SaveAs(Diretorio + Nome);
                }
    
                //agora voce salva o nome do arquivo em um campo de uma tabela

    alterar arquivo

                //vai no banco e traz o nome do artigo e do arquivo referente a pagina
                
                //nome do arquivo simulacao
                var arquivo = "documento.pdf";
    
                File.Delete("/Arquivos/" + arquivo);
    
                var Diretorio = Server.MapPath("/Arquivos/");
                var Nome = FulArquivo.FileName;
    
                if (Nome != string.Empty)
                {
                    FulArquivo.SaveAs(Diretorio + Nome);
    
                    //faz um update no campo com novo nome do arquivo
                }

    FileUpLoad

    FulArquivo 

    Foi que entendi.




    quarta-feira, 26 de setembro de 2012 23:13
    Moderador
  • Certo Wellington,

    Mas o arquivo anterior, como eu poderia remover ele do servidor para salvar  o novo?

    quinta-feira, 27 de setembro de 2012 19:00
  • Aqui no exemplo uso

    File.Delete("/Arquivos/" + arquivo);

    onde variável aquivo vai ser carregada com nome vindo da base de dados. File tá no NameSpace System.IO. Quando for trazer um determinado artigo traz também o nome do arquivo referente ao mesmo. Ai quando o usuário clicar para fazer a atualização ele apaga o anterior e coloca o novo como no exemplo acima.


    sábado, 29 de setembro de 2012 00:40
    Moderador