首页 > 编程语言 > 详细

JAVA大文件(100G以上)的上传下载实现技术

时间:2020-09-08 21:59:07      阅读:101      评论:0      收藏:0      [点我收藏+]

我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。

首先我们需要了解的是上传文件三要素:

1.表单提交方式:post (get方式提交有大小限制,post没有)

2.表单的enctype属性:必须设置为multipart/form-data.

3.表单必须有文件上传项:file,且文件项需要给定name值

上传文件夹需要增加一个属性webkitdirectory,像这样:

<input id="fileFolder" name="fileFolder" type="file"  webkitdirectory>

js中可以判断文件夹中文件数量及文件夹大小是否符合要求,不符合要求不能向后台提交:

前台HTML模板

技术分享图片

选择文件,选择文件夹,粘贴文件和文件夹的逻辑

技术分享图片 

后台在接收文件夹时不同之处在需要用MultipartHttpServletRequest

技术分享图片

 

server端的包和类

技术分享图片 

 

f_post.jsp页面的处理逻辑

技术分享图片 

 

生成文件名称的逻辑

技术分享图片 

 

以下是service层做的处理:

整体模块划分如下:

技术分享图片

其中数据类实体逻辑处理如下

技术分享图片

后台数据库中的逻辑基本上都用到了上面的实体类

文件数据表操作类如下

技术分享图片

实现后的整体效果如下

技术分享图片

文件夹上传完后的效果

技术分享图片

服务器保存的文件夹数据,而且层级结构与本地客户端是一致的。这在OA系统中,或者网盘系统中使用时是非常有用的

技术分享图片

后端代码逻辑大部分是相同的,目前能够支持MySQL,Oracle,SQL。在使用前需要配置一下数据库,可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/12/java-http%E5%A4%A7%E6%96%87%E4%BB%B6%E6%96%AD%E7%82%B9%E7%BB%AD%E4%BC%A0%E4%B8%8A%E4%BC%A0/

欢迎入群一起讨论:374992201

JAVA大文件(100G以上)的上传下载实现技术

原文:https://www.cnblogs.com/songsu/p/13634204.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!