想做一个断点续传的程序,基本的已经实现,但我不知道怎么判断前后两次传,传输的两个文件是不是同一个文件,不是简单的判断文件名相同就可以了
假如,开始我向对方传c:a.rm文件,中途断掉,下次我传c:directorya.rm,虽然这两个文件名都是a.rm,但内容是完全不同的,那对方怎么知道是新的文件还是上次未传完的文件,或者说,是续传,还是重新传?
- 4.8k
上传:如果是上传的话这种需要客户端的支持,单纯凭服务器是没法做的,就像楼主说的一样没办法确定用户的行为。如果有客户端的话,可以利用MD5校验确定文件是否相同。
下载:服务器具体下载的文件是由URL决定,所以只要参数能对并且客户端也支持断点继续就没啥问题。
-
luxianming:
md5校验,本地已经下了一半的和服务器需要下载的完整的文件的md5两者不一样的吧。为什么说下载url一样参数能对就是同一个文件,万一下载的软件有更新呢?url却是一样的,能详细说明一下吗?
-
行走在赤道:
url
当然具有唯一性了。如果有2个不同的文件是使用同一个url下载,那就是程序的问题。 -
luxianming:
谢谢,已经解决了,我的情况是服务端已经有文件的md5了,所以现在是更新的时候把服务端的md5也保存了一份在本地,发现是同名文件就进行比较~