Inquiridor
Upload seguro de arquivos C# e ASP.NET

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.
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;
-
-
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.