我正在制作某种FTP上传器客户端。我可以上传文件,但我不知道如何上传对文件所做的更改。我所说的更改并不是说该文件已重命名,而是当其内容发生变化时。例如,我有一个* .rar文件(足够大),里面有一些文件。当我添加一些新文件时,我不希望整个* .rar被上传,只需要更改的部分。我知道WebRequestMethods.Ftp.AppendFile
但是它只附加在文件的末尾,如果在中间应用了哪些更改怎么办?我会得到一个垃圾文件......
我读过关于“二元差异”的文章。看到有几个客户端直接在服务器上进行更改(FileZilla,Direct FTP,ALFTP)
答案 0 :(得分:1)
实际上,如果您的rar存档中的文件已更改 - 您应该重建并重新上传整个存档。
FTP共享不保存更改或重命名文件的历史记录。所以,唯一的解决方案是:
这两个步骤无法帮助您找到重命名的文件,但会为您提供删除或添加的文件的信息。
比较文件是否已更改可以通过保存其历史文件大小来完成。如果您需要更精确的检查,可以为文件生成CRC:
http://damieng.com/blog/2006/08/08/calculating_crc32_in_c_and_net
但是生成crc是一项非常漫长的任务。