Maison > Article > développement back-end > 网站图片上传可以实现秒传功能吗?
比如360云盘等网盘,有时在上传文件时会有“秒传”效果,搜索了一下,这个原理是 每个文件都有自己独立的哈希值和MD5值,这样就可以在上传时判断该文件在服务器是否已经存在了,所以才能实现秒传的功能。
那么我们php网站也可以实现这样的功能吗,我知道在客服端不能识别图片的MD5但是,只要传到空间后能识别这样就增加了空间的利用率啊,以不至于很多相同的图片被重复上传而保存在服务器上面。
可不可以实现呢?
除了图片,其它文件也有唯一的标示吧,也可以实现这样的吧。
有没有这样做的必要呢?
比如360云盘等网盘,有时在上传文件时会有“秒传”效果,搜索了一下,这个原理是 每个文件都有自己独立的哈希值和MD5值,这样就可以在上传时判断该文件在服务器是否已经存在了,所以才能实现秒传的功能。
那么我们php网站也可以实现这样的功能吗,我知道在客服端不能识别图片的MD5但是,只要传到空间后能识别这样就增加了空间的利用率啊,以不至于很多相同的图片被重复上传而保存在服务器上面。
可不可以实现呢?
除了图片,其它文件也有唯一的标示吧,也可以实现这样的吧。
有没有这样做的必要呢?
当然可以实现的。参见我在这个问题的回答。
而本地文件MD5的判断,就得借助浏览器和 JavaScript 了,现代浏览器都支持 FileReader ,可以读取本地文件,然后使用 JavaScript 来计算文件的 MD5 值,再把 MD5 值传到服务器端判断文件是不是已经在此前上传过了。
有个更好的方案,文件名字统一以文件本身的md5加盐生成,只用比较文件名就可以了!规则可以自己定