用过浏览器的开发人员都对大文件上传与下载比较困扰,以前遇到了一个须要在JAVA、MyEclipse环境下大文件上传批量下载的问题,无奈之下本身开发了一套文件上传控件,在这里分享一下。但愿能对你有所帮助。html
如下是项目所需的脚本文件java
如下是部分实例代码web
<%@ page language="java" import="up7.*" pageEncoding="UTF-8"%><%@数据库
page contentType="text/html;charset=UTF-8"%><%@apache
page import="org.apache.commons.lang.StringUtils" %><%@json
page import="up7.biz.folder.*" %><%@浏览器
page import="up7.*" %><%@网络
page import="up7.biz.*" %><%并发
/*post
此页面主要用来向数据库添加一条记录。
通常在 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个文件夹并存放,打开发现确认是咱们上传的原文件或文件夹
至此上传测试成功,固然有了上传天然也离不开下载。
勾选多个上传的文件或文件夹,你会发现多了一个下载按钮
而后点击下载按钮,设置下载目录文件夹
我设置的是桌面的测试下载目录,设置好点击肯定后,继续点击下载按钮,你会发如今页面的右下角出现了下载面板,你选择的文件已出如今目录中,而后点击所有下载,或者单个点击继续
下载完成后打开咱们设置的下载目录文件夹,发现需下载的文件或文件夹确认已下载成功,文件夹内的内容与下载文件夹内容一致
数据库记录
产品介绍官网:https://dwz.cn/fgXtRtnu