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

2021-03-28 09:25

阅读:303

标签:img   效果   cme   网盘   Servle   上传下载   客户端   folder   for   

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

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

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

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

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

上传文件夹需要增加一个属性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以上)的上传下载实现技术

标签:img   效果   cme   网盘   Servle   上传下载   客户端   folder   for   

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


评论


亲,登录后才可以留言!