上传业务,有的文件比较大,比如视频文件,小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:
1、文件过大,超出服务端的请求大小限制; 2、请求时间过长,请求超时; 3、传输中断,必须重新上传导致前功尽弃;
分片上传的整个流程大致如下:
将需要上传的文件按照一定的分割规则,分割成相同大小的数据块;
初始化一个分片上传任务,返回本次分片上传唯一标识;
按照一定的策略(串行或并行)发送各个分片数据块;
发送完成后,服务端根据判断数据上传是否完整,如果完整,则进行数据块合成得到原始文件
上传的前端代码在 upload.html
内
后端代码在 com.example.demo.controller.Uploader
内
本次上传使用的