JAVA上传大文件实现方法

需求:大文件上传,批量上传,断点续传,文件夹上传,大文件下载,批量下载,断点下载,文件夹下载
文件夹:上传下载需要支持层级结构,采用非压缩方式
文件大小:100G
前端:vue2,vue3,vue-cli,jquery,html,webuploader
后端:JSP,springboot
web服务:tomcat
数据库:mysql,oracle,达梦,国产化数据库
服务器:linux,信创国产化
浏览器:ie8+,firefox,chrome,360,2345,QQ,搜狗,猎豹
技术:分片,断点续传,加密传输,加密存储
要求:开源,免费,技术支持

该说不说,最近这块挻火的。今天早上有网友加我微信,也是咨询这块的技术问题,最近不知道啥情况,加我的网友还是挻多的。实际上我的微信很早就在网上公开了,但是还是有很多网友说找不到。
昨天晚上论坛里面有位网友发私信给我,聊了一下这个问题,这个网友是一个自由职业者,他也是刚开始学习这块,很多技术都不是很了解,平时也对技术比较感兴趣,他最近接了一个项目,也是有这个需求,需要传大文件,主要难点在于大文件和文件夹的下载。我先花了1个小时左右的时间跟他讲解了一下基础知识,比如文件初始化,文件块处理,文件合并处理,然后又花了一个小时帮他搭建了一个开发和测试环境,最后又花了一个小时左右的时间帮他调试成功。
不吹不黑,这个是目前为止能够找到的开源免费解决方案里面做的最好的一个了,网上的免费的方案很多,但是能用的很少,好用的就更少了。网上开源的吧,没有技术支持,但是这个不仅提供技术支持,还提供了非常少见的在线实时技术支持,能够通过QQ群和微信与作者联系,除此之外还提供了在线教程,开发文档和视频教程。真的,有一说一这个作者做的真的很不错,这里要点赞。免费的方案里面我就从来没有见过哪一个提供视频教程。
包教会,免费帮助我们公司培训,免费教我们公司开发人员使用和维护,免费培训,免费提供视频教程,免费提供开发文档,完全免费开放产品源代码,源代码包含前端,后端,控件源代码,并且支持自主编译,自主开发,自主部署,完全满足企业100%自主安全可控需求。能够适配信创国产化环境,包含国产操作系统,国产CPU,国产数据库,国产浏览器。
免费提供724小时技术支持,免费提供微信技术支持,免费提供电话技术支持,免费提供QQ技术支持,免费提供远程协助,免费提供远程代码调试服务,免费提供业务逻辑代码定制开发服务,免费提供驻场开发,免费提供上门服务。
同时呢在这里也告诉大家一个好消息,我们开源了,这也是和开发组沟通的结果,现在所有网友均可免费下载源码:https://drive.weixin.qq.com/s?k=ACoAYgezAAwnB0Dk9D,这里开源也是希望能够和广大网友共同学习,共同进步,大家可以一起讨论。
那么问题来了,为什么要开源呢,实际上我们是希望能够建立一个大家共同学习和交流的群,大家能够在这个群里面共同学习,共同进步。
实际上还有很多网友是直接将源码下载下来然后集成在项目中给客户使用,这都是可以的。
我们也会经常将一些经验在这里给大家分享。主打的就是一个共同学习,共同进步。除了CSDN的平台,我们还在其它的平台也有分享,比如头条,B站,抖音。大家也是可以关注一波。
后端项目组这边选的是JAVA,公司是有自己的产品,基本上给客户项目都是用的这一套产品,是之前开发的
之前在网上也找过相关的资料,论坛上也有网友交流过,加过很多QQ群和微信群,但是结果都不太令人满意。
网上的文章基本上全部都在讲如何调用HTML5的API,这是前端的方案,后端是一点都没讲,也没有提供代码,想测试都没办法测试。
几乎所有的文章都是说的调HTML5的API,也调研过这个方案,这个方案不支持IE,兼容性不过关,然后稳定性也达不到要求,公司这边也不敢随便用,主要是怕踩坑。另外一点就是领导这边要求的是需要提供完整源代码和成功案例
网上的资料基本上都是一些没人维护的开源方案,基本上成熟的商业解决方案很少,公司这边也不敢随便用,还是得用成熟的商业解决方案,主要考虑一点就是有长期的产品维护和技术支持,用户那边出个新的需求也能够满足,有问题的话也能够及时响应,用户比较在意服务这块。网上的文章基本上讲的都是HTML5的JS,对于具体的细节讲的不多,只说了调API,对于如何断点续传没讲。
两个方面,一个是功能的实现。客户是一个政府单位,现要求能够在网页上面上传文件夹,文件夹里面大约有1万多个文件,有大有小,大的有1G~10G,小的有几MB,
下载这块是一个痛点吧,上传的原理到是不复杂,但是网上提供完整源代码的不能说没有,只能说很少。
实际上客户这边比较在意两点
客户这边传的文件比较大,前端上传大文件的解决方案网上说的到是多,能用的产品非常少,稳定的可商用的就更少了。
大领导这边要求的话是需要提供前端,后端,控件源代码的,主要的一个方面就是考虑到后期的维护
前端用了JSP,VUE2,VUE3,后端用了JSP,SpringBoot,IDE用了Eclipse,MyEclipse,因为新项目和老项目都用了两种IDE。
文件夹上传的时候需要保存层级结构,同时能够将层级结构信息保存到数据库中,同时还需要支持文件夹下载,下载下来的文件夹要和上传的文件夹层级结构一模一样。要求支持断点续传,支持进度信息离线存储,用户可能传一半没有传完,下班了,明天上班后继续上传,电脑晚上到点需要关机,
支持加密传输,支持国密加密算法SM4,要求支持下载,支持非打包方式下载,
浏览器要求支持包含IE在内的所有浏览器,
系统环境要求支持信创国产化,比如银河麒麟,中标麒麟,统信UOS,龙芯,
数据库支持MySQL,Oracle,达梦数据库,人大金仓,需要提供前端源码,后端源码,控件源码,公司自己的项目,也有自己的产品,后续需要集成使用,提供7
24小时技术支持服务,提供文档教程,视频教程,远程技术指导,1对1技术支持服务,提供手机,微信,QQ,邮箱,企业微信等联系方式。
作为学生来讲,能够吃透源代码里面的技术,找个工作是非常轻松的,而且对于学生来讲,比较重要的是提供教程,这一点目前来说,整个互联网上都没有哪一个开源项目能够做到。这确实是一个不可多得的开源项目,不仅能够从里面学习到优秀的产品设计和构架设计,还能够在QQ群里面(374992201)和大牛一起交流学习进步,认识更多的大牛。
刚才也有网友问了,实际上断点续传的思路并不复杂,原理也很简单,关键的是处理一些异常的情况,以及产品的稳定性,可扩展性,兼容性。因为用户实际的应用场景并不是单一的应用场景,用户的应用场景可能比较复杂。
平时在网很难接触到这种优秀的开源的商业级的成熟软件产品,并且是完整开源,前端,后端,控件源代码都开源了。作为计算机专业的学生来讲,把这个项目里面的知识点掌握了,对自己以后找工作也是有很大的帮助的。
JAVA大文件上传,HTTP 传输大文件的几种方案,JAVA实现浏览器端大文件分片上传实例解析,JAVA大文件分片上传/多线程上传解决方案,支持超大文件HTTP断点续传方法,
内网/外网大文件上传解决方案,B/S实现文件夹的上传和下载,用JAVA实现大文件上传及显示进度信息,JAVA实现大文件多线程上传案例,IE浏览器如何实现断点续传,
JAVA 大文件上传解决方案(500M以上),JAVA大文件(视频)切割上传,上传大文件的解决方案,JAVA大文件(10G以上)的上传下载实现技术,开发实例:后端JAVA和前端VUE实现文件上传和下载功能,java大文件上传,jsp大文件上传,SpringBoot大文件上传,JAVA实现大文件上传插件,
JSP文件分片上传,断点续传,JAVA大文件分片上传示例,断点续传思路

视频教程

观看视频:https://www.ixigua.com/7227314770696012322

导入项目

导入到Eclipse:http://www.ncmem.com/doc/view.aspx?id=9da9c7c2b91b40b7b09768eeb282e647
导入到IDEA:http://www.ncmem.com/doc/view.aspx?id=9fee385dfc0742448b56679420f22162
springboot统一配置:http://www.ncmem.com/doc/view.aspx?id=7768eec9284b48e3abe08f032f554ea2

下载示例

版本:6.5.41
https://gitee.com/xproer/up6-jsp-eclipse/
image

工程

image

NOSQL

NOSQL示例不需要任何配置,可以直接访问测试
image

创建数据表

选择对应的数据表脚本,这里以SQL为例
image
image

修改数据库连接信息

image

访问页面进行测试

image

文件存储路径

up6/upload/年/月/日/guid/filename
image
image

免费资源

免费下载源代码:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
免费下载授权器:https://drive.weixin.qq.com/s?k=ACoAYgezAAw0P06owX

全球唯一

全球唯一商业化开源产品,全球唯一免费提供源代码下载服务,面向政府和企业完全开放源代码,满足政府和企业100%自主安全可控需求。
免费下载产品源代码:https://drive.weixin.qq.com/s?k=ACoAYgezAAwnB0Dk9D

开放源码

完全开源,免费为个人提供产品源代码,功能随便改,逻辑随便改,随时随地,想编就编,想发行就发行,我的代码我作主
免费为个人提供源码讲解服务,功能讲解,逻辑讲解,原理讲解,思路讲解,核心代码功能实现讲解,新业务功能扩展指导,免费提供编译指导,免费提供部署指导
满足个人用户,学习,研究,交流,探索等个性化的需求。
从泽优核心产品代码库中拉取代码
拉取代码

Windows平台源码

ActiveX-x86-工程源码

Alt

拉取代码

免费下载:https://drive.weixin.qq.com/s?k=ACoAYgezAAwnB0Dk9D
拉取代码
拉取成功

编译

编译

打包

打包

控件包

控件包

ActiveX-x64-工程源码

编译

编译

打包

打包

控件包

控件包

火狐工程源码

拉取代码

Alt

工程源码

Alt

谷歌Chrome工程源码

Alt

编译

编译成功

打包

打包

控件包

打包成功

edge工程源码

项目编译成功
edge工程编译成功

macOS控件源码

面向用户完全开放产品源代码,可自主编译,自主发行,满足企业100%自主安全可控需求
免费提供macOS平台编译部署指导,远程一对于专业开发人员指导
Alt

macOS(x86)控件编译

Alt

Linux工程源码

面向用户完全开放产品源代码,可自主编译,自主发行,满足企业100%自主安全可控需求
免费提供Linux版控件编译,打包,部署指导,远程一对一语音视频教程
Alt

编译成功

Alt

打包

Alt

龙芯(LoongArch)工程源码

面向用户完全开放产品源代码,可自主编译,自主发行,满足企业100%自主安全可控需求
免费提供龙芯(LoongArch)平台控件编译,打包,部署远程一对一专业指导。

编译

Alt

deb打包

deb包

rpm打包

rpm包

uos打包

uos包
控件包

arm工程

面向用户完全开放产品源代码,可自主编译,自主发行,满足企业100%自主安全可控需求

编译

编译成功

deb打包

deb打包
deb包文件

rpm打包

rpm打包
rpm包

uos打包

uos打包
uos包

兼容性

国内唯一支持IE浏览器
国内唯一支持COM技术构架
支持IE6,IE7,IE8,IE9,IE10,IE11
Alt

第三方应用集成

国内唯一提供第三方应用支持:泛微OA,通达OA,Discuz,
国内唯一支持多种开发语言(.NET.NET WinForm,.NET Core,JAVA,PHP,C++,WTL,VB)
Alt
Alt
Alt

技术支持

免费为个人提供技术支持服务,7*24小时随叫随到,免费产品更新服务,免费产品升级服务,免费技术交流服务,免费视频教程
免费提供原理讲解,源代码讲解,流程讲解,实现思路讲解
Alt

产品比较

国内唯一免费提供详细产品比较参数说明,可用于编写招投标要求和参数
下载产品比较文档:https://drive.weixin.qq.com/s?k=ACoAYgezAAwCtbFcSB
Alt

免费资源

产品比较:https://drive.weixin.qq.com/s?k=ACoAYgezAAwNT1peJ1
白皮书:https://drive.weixin.qq.com/s?k=ACoAYgezAAwqb51JS5
产品源代码文档:http://www.ncmem.com/webapp/up6/purchase.aspx?type=code
开发文档:https://drive.weixin.qq.com/s?k=ACoAYgezAAwa327yop
产品源代码:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
授权生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1
up6-asp.net-vs2013示例:https://gitee.com/xproer/up6-asp-net/tree/6.5.41/
up6-net-core示例:https://gitee.com/xproer/up6-net-core
up6-.net-winform示例:https://gitee.com/xproer/up6-code-csharp
up6-cpp-wtl示例:https://gitee.com/xproer/up6-cpp-wtl
up6-jsp-eclipse示例:https://gitee.com/xproer/up6-jsp-eclipse/tree/6.5.41/
up6-jsp-myeclipse示例:https://gitee.com/xproer/up6-jsp-myeclipse/tree/6.5.41/
up6-jsp-springboot示例:https://gitee.com/xproer/up6-jsp-springboot/tree/6.5.41/
up6-php5-示例:https://gitee.com/xproer/up6-php5/tree/6.5.41/
up6-php7-示例:https://gitee.com/xproer/up6-php/tree/6.5.41/
up6-Discuz插件:https://gitee.com/xproer/up6-discuz
up6-vue-cli示例:https://gitee.com/xproer/up6-vue-cli
up6-ExtJS 6示例:https://gitee.com/xproer/up6-extjs6
示例下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值