java文件 控件_java文件夹上传下载控件分享

用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个需要在JAVA、MyEclipse环境下大文件上传的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下。希望能对你有所帮助。

以下是项目所需的脚本文件

16cdc39de84f8e57b5a6ea72cf90cd41.png

以下是部分实例代码

page contentType="text/html;charset=UTF-8"%>

page import="org.apache.commons.lang.StringUtils" %>

page import="up7.biz.folder.*" %>

page import="up7.*" %>

page import="up7.biz.*" %>

/*

此页面主要用来向数据库添加一条记录。

一般在HttpUploader.js HttpUploader_MD5_Complete(obj)中调用

更新记录:

2012-05-24完善

2012-06-29增加创建文件逻辑,

2017-05-05文件上传完后添加到数据库

*/

String uid = request.getParameter("uid");

String id= request.getParameter("id");

String callback = request.getParameter("callback");//jsonp

//返回值。1表示成功

intret = 0;

if( !StringUtils.isBlank(uid)

&& !StringUtils.isBlank(id))

{

DBConfig cfg =newDBConfig();

DBFile db = cfg.db();

//标识已完成

db.complete(id);

//合并完毕

db.merged(id);

ret = 1;

//触发事件

up7_biz_event.file_post_complete(id);

}

XDebug.Output("文件上传完毕");

%>

这里我先介绍一下主要功能,最后附上链接,有需要的朋友可以自行了解。

分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。我们随机上传4个文件或文件夹

30d1be1202d53b521be4927fe9c8b899.png

当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。如下图:

36031408ebb0db86ed6be5ad213c573e.png

当重新打开网页时,只需要点击继续即可。

上传完成后,我们发现页面上已出现相应的文件或文件夹名称

d75108ec027ddad251f80d95ddd73ccc.png

查看我们的数据库会发现已经新建了当天的日期文件夹,点击查看

4854436c69daf9be64eac12f5a7bc884.png

会发现随机生成的4个文件夹并存放,打开发现确认是我们上传的原文件或文件夹

d999233696ee05e1f87627ef5fefbf6c.png

c843f514dac7a0a564f4311dbdc831ed.png

a931b37d7af56d911724443c46863039.png

153ae8385e2a600305b8fe96f0c3bc10.png

至此上传测试成功,当然有了上传自然也离不开下载。

勾选多个上传的文件或文件夹,你会发现多了一个下载按钮

2b02269ed38f645019f83b811b51a504.png

然后点击下载按钮,设置下载目录文件夹

013e61ac7e3d47e2cf312a6ff42452f8.png

我设置的是桌面的测试下载目录,设置好点击确定后,继续点击下载按钮,你会发现在页面的右下角出现了下载面板,你选择的文件已出现在目录中,然后点击全部下载,或者单个点击继续

e890a1804a76d045620c104f24e1236f.png

下载完成后打开我们设置的下载目录文件夹,发现需下载的文件或文件夹确认已下载成功,文件夹内的内容与下载文件夹内容一致

4a327930b0cd79f506c19e408adac114.png

此致,上传与下载功能测试成功

是不是十分强大的赶脚,我这就附上控件更详细的介绍与demo链接:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值