SpringBoot超大文件上传如何实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot超大文件上传如何实现?相关的知识,希望对你有一定的参考价值。
SpringBoot超大文件上传
参考技术A 不管什么技术,超大文件上传(超出一次tcp上限)都是要做分片和合并的,无非是自己做还是找控件的差别。另外,springboot是后台接收,前端实现是由前端框架负责,比如vue。
以下是Vue+Springboot实现大文件上传的二种方式:
1、利用ElementUI的el-upload
优点:
简单方便,可以实现功能
缺点:
上传速度太慢,没有分片单线程上传1个G的文件即使在局域网也很慢
上传显示的进度条不准确,进度已经100%了,但是还需要等很久在服务端才生成完文
2、利用百度的webuploader
优点:
WebUploader是网上比较推荐的方式,分片上传大文件速度很快。
缺点:
必须依赖 jquery
不能 import 导入,只能在 index.html 里包含。
3. 利用vue-uploader
vue-uploader 是基于vue的uploader组件,缺省就是分片上传。
通过npm安装,基本流程参考github上的说明即可。
上传的基本原理就是前端根据文件大小,按块大小分成很多块,然后多线程同时上传多个块,同时调用服务端的上传接口,服务端会生成很多小块小块的文件。
所有块都上传完之后,前端再调用一个服务端的merge接口,服务端把前面收到的所有块文件按顺序组合成最终的文件。
jsp利用webuploader实现超大文件分片上传断点续传
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步: 前端修改 由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify
以上是关于SpringBoot超大文件上传如何实现?的主要内容,如果未能解决你的问题,请参考以下文章