语言:js
背景:下载文件在服务器打包压缩,前端下载,现在要做的就是下载完成后 删除 保留在服务器的资源,减少服务器压力。
基本思路:
- 使用MD5,本地文件下载完后去文件的md5值与服务器的该文件md5进行比对,一致证明下载完全。
- 比较文件的size,文件长度,下载完成取下File.length,与服务器的文件长度比对,一致则下载完全。
- 文件命名法,开始下载时,把文件命名为宜别名如xxx.tmp,下载完成后再把文件名称修改过来。只要正式的文件名存在,则是下载完全的。原理,下载完成后,如果文件实际是没下载完的,那么文件名是改不了的会报错,通过这个来判断文件是否真的下载完成;并且下载中的文件即使可以修改文件名,当继续下载时,会因为找不到原来的文件而报错,也可以通过这个来校验文件是否真的下载完成