java如何做大体积的文件上传和下载,java大文件上传和下载,java文件分块上传和下载,java大文件批量上传和下载,java大文件加密上传和下载,java大文件分片上传和下载,java大文件切片上传和下载,java大文件切割上传和下载,java文件夹上传和下载,java文件夹批量上传和下载,
后端用的JAVA,JSP,SpringBoot,前端用了JSP,VUE2,VUE3,React,需要实现大文件的上传和下载。
要求支持文件夹的上传下载,支持断点续传,支持加密传输,端到端的加密传输,上传过程中数据加密,下载过程中数据加密,下载后自动解密,上传支持加密存储,
文件夹下载支持以非打包方式下载,用户上传的文件夹包含1万个文件,文件有大有小,大的可能1G~10G,如果打包下载的话,服务器的磁盘空间不够。
文件夹上传支持保存层级结构,层级结构信息保存到数据库中,
文件夹下载支持保留层级结构,上传的是什么结构,下载同样是什么结构
加密算法支持国密SM4,涉密单位使用。
服务器支持Linux,Windows,macOS,CentOS,中标麒麟,银河麒麟,统信,龙芯,华为鲲鹏,
数据库支持MySQL,达梦数据库,人大金仓
需要提供前端源代码,后端源代码,控件源代码
需要提供7*24小时技术支持,长期技术支持,长期维护服务,1对1技术支持服务,二次开发培训服务,二次开发指导服务
需要提供手机,QQ,微信,企业微信,电子邮箱等联系方式
需要支持包含IE在内的全部浏览器
终端需要支持Windows,macOS,Linux,信创国产化环境,中标麒麟,银河麒麟,统信UOS,龙芯,华为
功能需要支持10G,50G,100G大文件上传和断点续传,刷新续传,重启续传
支持超大文件分片,分段,分块,分割上传下载,断点续传
支持文件夹上传,下载断点续传,支持文件夹层级结构,层级结构信息保存到数据库,下载的时候同样保留层级结构
支持加密上传,下载加密,端到端加密,国密SM4加密算法,数据加密传输,传输过程中要保证数据是加密的。
网上一般的做法都是用的HTML5的API,也就是chrome提供的API,能够满足基本需求,但是还是有痛点,chrome限制死了,固定死了无法扩展,每个域名只允许5个TCP连接,导致了速度有上限,你也无法修改和扩展。然后就是浏览器也只能用chrome,用户用了IE就不行了,用户现有的系统跑在IE上,也不能换。
进度信息容易丢失,用户关闭网页,刷新网页,关闭浏览器,重启浏览器,关闭电脑,重启电脑后,进度信息都会丢失,无解,没办法。扩展性还是差了点。
传大文件,超大文件,文件数量多的话,前端就卡,网页反应慢,容易死,崩溃,在配置较差的电脑或者配置一般的电脑上这个痛点体现的非常明显。
下载,网上找到的资料一般都是讲上传的,很少讲下载的。
下载示例:
https://gitee.com/xproer/up6-jsp-eclipse/tree/6.5.40/
工程
NOSQL
NOSQL示例不需要任何配置,可以直接访问测试
创建数据表
选择对应的数据表脚本,这里以SQL为例
修改数据库连接信息
访问页面进行测试
文件存储路径
up6/upload/年/月/日/guid/filename
相关问题:
1.javax.servlet.http.HttpServlet错误
2.项目无法发布到tomcat
3.md5计算完毕后卡住
4.服务器找不到config.json文件
相关参考:
源码工程文档:泽优上传下载-源码版-工程文档.pdf
源码报价单:泽优上传下载-源码版-2024.pdf
OEM版报价单:泽优上传下载-OEM版-2024.pdf