关于WebUploader插件中断点续传的思考

最近回想了以前做过的关于 工具上传下载管理系统 的项目,其中项目要求能够断点续传。


当时使用了前端使用了WebUploader这个插件进行文件的分片、MD5计算,后端则使用了SpringMVC的框架,今天重新想了想,感觉有个地方可以重新优化,故此记录。


先放个刚刚用Visio做的流程图

关于WebUploader插件中断点续传的思考_第1张图片


之前在分片上传时是直接定位到文件的 分片块数*分片大小 的offset的位置进行写入,这就会造成如果该区域的数据已经上传过了,那么会重复写入,造成资源的浪费。


此次的优化在于,写入之前会判断是否已经上传过该区块,所以,刚开始的时候,每当写入一个区块后,都会计算其MD5写入redis或者配置文件中,当发生断点续传后,如果该区块已经写入,则会跳过该区块。


有时间我会改进代码并贴出。。。

当年写的时候参考了以下链接点击打开链接


你可能感兴趣的:(java)