关于Springboot的大文件上传?
我想要做一个网盘系统,但是网上搜到的教程不是太明白,想实现大文件上传这一块内容,由于前端基础不是很好,对vue-simple-uploader的了解不是很清楚,官方的文档讲述很少,而且基本都在讲前端,请问各位大佬在学习的过程中有没有方便快捷能较好去实现这个功能的方案.
回复
1个回答

test
2024-07-15
随便搜了一下
https://github.com/gaoyuyue/M...https://github.com/gaoyuyue/M...
分片上传
分片上传就是将一个大文件分成若干份大小相等的小块文件,等所有小块文件上传成功后,再将文件进行合并成完整的原始文件。
断点续传
断点续传就是重新上传文件时先判断哪些文件块已经上传过了(比如将分片的chuck md5等信息保存在DB中),如果上传过了则跳过这些块,否则上传没有上传的块。
秒传
当用户选择上传一个文件时,服务端检测该文件之前是否已经被上传过,如果服务器已经存有该文件(完全一样),就立马返回前端 “文件已上传成功”。前端随即将进度条更新至100%。 这样给用户的感觉就是 “秒传” 的感觉。
分片上传
- 前端:需要将文件file.slice()成多个文件块,并计算每一块的md5值,每次请求上传都是传一个小文件块。
- 后端:需要接收每次上传的文件块并保存文件块的信息(比如md5), 如果已经上传则跳过;最后等所有文件上传完成之后,将所有的文件块合并成一个大文件。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容