Como verifica a integridade de um arquivo?

Delphi

04/01/2010

Fiz um pequeno cliente de FTP para fazer downloads de arquivos. Na maioria dos downloads os arquivos são baixados corretamente, mas eventualmente um ou outro arquivo é baixado e ficando comrropido. Dúvida: Tem como criticar ou verificar se o mesmo foi baixado corretamente? Estou utilizando o Delphi 7 e os componentes da palheta Indy.   Obrigado a todos e aguardo qualquer orientação.
M. C.

M. C.

Curtidas 0

Respostas

Pjrm1470

Pjrm1470

04/01/2010

Tenho algo em mente más é so em teoria. Sei que tem como, mas não parei pra desenvolver ainda. Pegue o tamanho do arquivo (Bytes), guarde o tamanho dela numa variável, quando o download terminar (pois deve ter algum evento que você criou para ser executado quando acabasse um download), verifique o tamanho do arquivo baixado com o tamanho do arquivo do servidor (que no caso já está em memoria).   Se o tamanho conferir, o download foi bem sucedido, senão o arquivo está corrompido ou não foi possivel baixar o restante, ou o servidor caiu, ou a conexão com o servidor foi perdida, ou sei la.    =p   Espero que a idéia ajude. Att, pjrm1470.
GOSTEI 0
M. C.

M. C.

04/01/2010

Realmente a sua idéia é muito boa. Eu tinha pensado em algo assim, mas achei que isso não seria confiável. Isso é confiável?   Obrigado pela sua atenção e aguardo comentário.   Abraço.
GOSTEI 0
Pjrm1470

Pjrm1470

04/01/2010

Quando tenho uma ideia, eu elaboro, salvo, construo, testo e guardo. Acredito nesta ideia, pois por mim seria a garantia de que eu possa saber quando o arquivo está corrompido ou não. Já me veio mais uma ideia, porem é muito doida e sem nexo se eu não pensar antes para comenta-la aqui. Os sistemas de onde eu trabalho funciona assim: Se há atualização, então ele verifica e armazena a informação de cada arquivo. Utiliza este metodo que mencionei. Apos copiar cada arquivo, em cada cópia ha a verificação dos arquivos para que nenhum passe corrompido. Se tiver algum corrompido grava aonde parou (1 antes) e reiniciar o sistema para recomeçar o download de onde parou.   Não sei se será útil este método para você, mas aconselho e garanto.
GOSTEI 0
M. C.

M. C.

04/01/2010

Beleza, vou ver o que consigo fazer por aqui com essas idéias.   Muitissimo obrigado pela sua atenção.   Abraço.
GOSTEI 0
POSTAR