用過瀏覽器的開發人員都對大文件上傳與下載比較困擾,以前遇到了一個須要在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