100g文件复制 java_JAVA大文件(100G以上)的上传下载实现技术

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

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

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

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

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

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

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

前台HTML模板

617fb7aecd0f61abcbedb1cea2dc305d.png

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

bf96417d0738dfc814804f806a2f3536.png

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

1d3d33e6704225522d210946e756d303.png

server端的包和类

8db266d3872e73b65fbeb1a66f2e3101.png

f_post.jsp页面的处理逻辑

cb3b19f91c80260265f4459161c41e99.png

生成文件名称的逻辑

5067b11a817acb41f1348facc6040683.png

以下是service层做的处理:

整体模块划分如下:

05cc3fd5edc32573a6a11944fefd6649.png

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

3723a44eafed33d7c625733bef395fba.png

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

文件数据表操作类如下

4e3e6bfe95644f66ff5c7487bd8e0df2.png

实现后的整体效果如下

3d604aad3c0e631dd3f0f82c2800e4f2.png

文件夹上传完后的效果

a33ffb82bbbcef62641b8461dc571087.png

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

70a775069dfc0d81df3eea4d537a0564.png

欢迎入群一起讨论:374992201

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值