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

本文分享了在JAVA、MyEclipse环境下开发的大文件上传控件。该控件采用分片与并发结合,提高上传速度,传输错误时只需重传出错分片,还能实时跟踪进度。上传完成后文件会存入数据库对应文件夹,下载功能也测试成功,文末附上详细介绍与demo链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

以下是部分实例代码
<%@ page language=“java” import=“up7." pageEncoding=“UTF-8”%><%@
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表示成功
int ret = 0;
if ( !StringUtils.isBlank(uid)
&& !StringUtils.isBlank(id))
{
DBConfig cfg = new DBConfig();
DBFile db = cfg.db();

//标识已完成
db.complete(id);

//合并完毕
db.merged(id);
ret = 1;

//触发事件
up7_biz_event.file_post_complete(id);

}
XDebug.Output(“文件上传完毕”);
%><%=callback + “(” + ret + “)”%>

这里我先介绍一下主要功能,最后附上链接,有需要的朋友可以自行了解。
分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。我们随机上传4个文件或文件夹

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

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

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

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

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

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

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

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

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

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

此致,上传与下载功能测试成功
是不是十分强大的赶脚,我这就附上控件更详细的介绍与demo链接:https://dwz.cn/fgXtRtnu

新颖网络上传插件(StorageWebPlug)是一个支持超大文件(2GB,可扩展)上传的COM控件, 具备断点续传,文件MD5验证,大大提高上传效率、节省带宽,有详细的上传进度显示,支持多种脚本语言,欢迎下载体验。免费提供JavaScript SDK包。 产品特点: 1、文件上传使用增强的FTP协议,用户使用浏览器就可以上传超大文件到服务器(支持上传超过1G的文件)。 2、支持断点续传,系统智能续传未上传的文件,续传操作更简单,更方便,更快捷。 3、支持文件批量上传, 一次可以上传多个文件. 上传时有详细的状态显示(包括单个文件进度,整体进度,传输速率,剩余时间等)。 4、新颖网络免费提供JavaScript SDK包。通过新颖网络提供的封装好的JavaScript类库用户可以快速的与现有系统整合。 5、StorageWebPlug提供完善的接口和帮助文档,开发文档。开发人员可以动态设置上传保存路径, 设置允许扩展名, 允许最大大小等,可自定义强。 6、支持各种代理(HTTP, Socket4, Socket5等)。 7、组件采用多线程机制来保证上传效率。 8、支持批量文件上传, 用户可以一次性上传批量文件. 客户端可以绑定HTML表单变量, 服务端并可以接收表单变量 9、服务端文件保存路径可以随意指定,服务端文件保存路径可以灵活变化。保存路径支持网络路径。 10、为提高安全性,服务端组件可以指定用户权限 11、可以限制上传单个文件大小, 控制上传带宽上限, 允许文件扩展名, 拒绝文件扩展名等 12、上传数据时会根据网络状况来控制数据包大小, 避免网络堵塞 13、控件采用ATL编写, cab包只有59KB, 用56k的modem下载不会超过12秒 14、服务端支持Windows 2000 Server/Windows 2003 Server/Windows NT/Windows XP/Unix/Linux等操作系统 15、通过新颖网络业界领先的设计水平打造的操作界面可以帮助您的系统和产品获得更高的品质。 产品介绍:http://www.ncmem.com/service_storagewebplug.aspx 下载地址:http://www.ncmem.com/download.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_Zang666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值