WebUploader是一款比较受欢迎的上传插件,不对它进行过多描述,网上对它的介绍文章很多。
原理
WebUploader负责前端分块,分块的目的是为了支持续传。使用普通的文件上传,在上传过程中一旦失败就要重新开始,有了断点续传就能跳过已经传输成功的块,提高效率节省时间成本。
怎么分块?
WebUploader会根据文件大小自定义分块,块的大小可自行决定,插件会知道分多少块,记录每块的索引起始值和结束值。插件把每个块通过普通的文件上传servlet传到后台,后台把所有块都暂存到一个文件夹中,所有块都就绪之后,前端会调后台的合并接口,将这些块合并成一个文件,这个文件即为我们要传的大文件。后台合并的核心类是FileChannel,它能将多个文件合并为一个文件。
案例
本文只是提供一个案例作为参考。代码非常简单,把项目拉下来运行即能使用,基于springboot一键启动。
本项目支持下列功能:
1.分块并行上传
2.断点续传
3.在上传的过程中随意暂停,继续,取消
4.显示进度条
5.支持拖拽上传
效果图:

源码:
https://github.com/kunghsu1021/KunWebUploaderDemo
(全文完)
本文介绍WebUploader插件的分块并行上传与断点续传功能,演示如何实现文件上传过程中的暂停、继续及取消操作,并展示进度条与拖拽上传效果。

966

被折叠的 条评论
为什么被折叠?



