none
Upload seguro de arquivos C# e ASP.NET RRS feed

  • Pergunta

  • Bom dia,

    Estou desenvolvendo um trabalho em que envolve o upload de arquivos para o servidor, utilizando ASP.NET e C#. Mas tenho que garantir que o arquivo não vai ser corrompido no processo de upload. Por isso pensei em duas soluções:

       - Fazer um Hash md5 do arquivo antes de upload, e outro md5 depois que o arquivo ja estiver   no servidor. Mas essa abordagem tem um problema que é fazer o md5 de arquivos no cliente, temtei com javaScript mas até onde encontrei não tem soluções confiaveis neste sentido.

      - Utilizar FTP para fazer o upload do arquivo do cliente para o servidor. Ainda não tentei implimentar essa solução mas me parece tem o mesmo problema de executar esse FTP no cliente.

    Então a minha pergunta é a seguinte:

    Qual dessas abordagens é a mais indicada e de que forma eu posso implementalas? Ou existe uma terceira solução que seja mais indicada ao meu problema.

    quarta-feira, 26 de setembro de 2012 14:34

Todas as Respostas

  • Boa tarde,

    No caso o arquivo que você está enviando é muito grande? Digo isso pois geralmente você poderia utilizar algo do tipo

                // 0 = Erro ao enviar arquivo para servidor
                // 1 = Arquivo incluído com sucesso
                // 2 = Formato de arquivo inválido
                Int32 salvaArquivo = 0;
                if (this.fupArquivo.HasFile) {
                    if (validarTypeMime(this.fupArquivo.PostedFile.ContentType)) {
                        String fullPath = MontarCaminhoArquivo();
    
    
                        try {
                            this.fupArquivo.SaveAs(fullPath);
    
                            return salvaArquivo = 1;
    
                        }
                        catch (Exception e) {
                            salvaArquivo = 0;
                            throw e;
                        }
                    }
                    else {
                        salvaArquivo = 2;
                    }
                }
                else {
                    return salvaArquivo = 0;
                }
    
                return salvaArquivo;

    quarta-feira, 26 de setembro de 2012 17:45
  • Mas isso eu ja fiz, isto não garante a integridade de arquivo no upload.

    Eu preciso garantir a integridade do arquivo. Esse é o ponto principal.

    quinta-feira, 27 de setembro de 2012 13:16
  • Vou explicar melhor o que preciso fazer.

    O que eu preciso é garantir a integridade do upload, se o FileUpload garantir a integridade do upload então eu posso usar. Mas o que eu preciso é garantir a integridade do upload, a primeira opção que pensei foi fazer verificação com md5, depois pensei em fazer com FTP mas não consegui faze isso. Então o que eu estou procurando são formas de garantir a integridade do arquivo no upload.

    terça-feira, 2 de outubro de 2012 13:28