資源簡介
完整的文件斷點續傳DEMO,直接導入eclipse就可以用,前端用HTML5對文件進行切片,后端由JAVA做服務器進行接收。

代碼片段和文件信息
package?com.liduxx.uploadfile.web;
import?java.io.File;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.net.URLDecoder;
import?java.util.List;
import?javax.servlet.ServletException;
import?javax.servlet.annotation.MultipartConfig;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
import?net.sf.json.JSONobject;
import?org.apache.commons.fileupload.FileItem;
import?org.apache.commons.fileupload.FileUploadException;
import?org.apache.commons.fileupload.disk.DiskFileItemFactory;
import?org.apache.commons.fileupload.servlet.ServletFileUpload;
import?org.apache.commons.io.IOUtils;
@MultipartConfig
public?class?AjaxFilesUploadServlet?extends?HttpServlet
{
????
????private?static?final?long?serialVersionUID?=?513258132164002370L;
????
????@Override
????protected?void?doGet(HttpServletRequest?request
????????????HttpServletResponse?response)?throws?ServletException?IOException
????{
????????String?fileStr?=?new?String(request.getParameter(“filename“)
????????????????.getBytes(“ISO-8859-1“)?“utf-8“);?//中文亂碼
????????
????????String?files[]?=?fileStr.split(““);?//多個文件
????????
????????//獲取文件需要上傳到的路徑
????????String?path?=?request.getRealPath(“/upload“)?+?File.separator;
????????JSONobject?json?=?new?JSONobject();
????????json.put(“succ“?true);
????????JSONobject?jo?=?new?JSONobject();
????????for?(int?i?=?0;?i?????????{
????????????String[]?file?=?files[i].split(“\\!“);
????????????String?id?=?file[0];
????????????String?fileRef?=?file[1];
????????????String?name?=?fileRef.substring(0?fileRef.lastIndexOf(“.“));
????????????String?type?=?fileRef.substring(fileRef.lastIndexOf(“.“)?+?1);
????????????
????????????long?size?=?getFileSize(path?+?name?+?“.“?+?type);
????????????
????????????jo.put(id?size);
????????????json.put(“data“?jo);
????????}
????????System.out.println(“get返回json數據:“?+?json);
????????
????????response.setContentType(“text/plain“);
????????response.getWriter().write(json.toString());
????????
????}
????
????/**?<一句話功能簡述>
?????*?根據文件路徑取得文件大小
?????*?@param?filePath?文件路徑
?????*?@return?返回文件大小
?????*?
?????*?@return?long?[返回類型說明]
?????*?@exception?throws?[違例類型]?[違例說明]
?????*?@see?[類、類#方法、類#成員]
?????*/
????private?long?getFileSize(String?filePath)
????{
????????long?size?=?0;
????????File?file?=?new?File(filePath);
????????if?(file.exists())
????????{
????????????
????????????size?=?file.length();
????????????
????????}
????????
????????return?size;
????}
????
????/**
?????*?上傳流文件并保存
?????*?@param?request
?????*?@param?response
?????*?@throws?ServletException
?????*?@throws?IOException
?????*/
????public?void?doPost(HttpServletRequest?request?HttpServletResponse?response)
????????????throws?ServletException?IOException
????{
????????
????????request.setCharacterEncoding(“utf-8“);?//設置編
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????57??2016-06-19?19:38??.settings\org.eclipse.core.resources.prefs
?????文件????????149??2016-06-19?20:32??.settings\org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs
?????文件?????231891??2014-02-19?16:11??lib\commons\commons-beanutils-1.8.2.jar
?????文件?????571259??2014-02-19?16:11??lib\commons\commons-collections-3.2.jar
?????文件??????59590??2014-02-19?16:11??lib\commons\commons-fileupload-1.2.2.jar
?????文件?????159509??2014-02-19?16:11??lib\commons\commons-io-2.0.1.jar
?????文件?????279193??2014-02-19?16:11??lib\commons\commons-lang-2.5.jar
?????文件??????38015??2014-02-19?16:11??lib\commons\commons-logging-1.0.4.jar
?????文件????1748770??2016-06-15?19:44??lib\em
?????文件?????177209??2016-06-15?19:43??lib\em
?????文件?????235411??2016-06-15?19:44??lib\em
?????文件????2489639??2016-06-15?19:44??lib\em
?????文件?????787158??2016-06-15?19:44??lib\em
?????文件??????38123??2016-06-15?19:43??lib\em
?????文件??????86487??2014-02-19?16:11??lib\json\ezmorph-1.0.6.jar
?????文件?????159123??2016-06-15?19:44??lib\json\json-lib-2.4-jdk15.jar
?????文件??????25496??2016-06-15?19:43??lib\log\slf4j-api-1.6.1.jar
?????文件????????304??2014-11-12?19:58??resources\log4j.properties
?????文件??????11434??2016-06-30?10:59??src\com\liduxx\uploadfile\web\AjaxFilesUploadServlet.java
?????文件???????1611??2016-06-29?10:39??test\com\iman\em
?????文件???????8027??2016-06-30?10:20??WebRoot\css\btn.css
?????文件???????2409??2016-06-30?10:20??WebRoot\css\demo.css
?????文件???????1799??2016-06-30?10:20??WebRoot\css\hl.css
?????文件??????19069??2016-06-30?10:48??WebRoot\index.html
?????文件?????????39??2016-06-15?14:47??WebRoot\me
?????文件???????2751??2016-06-30?10:57??WebRoot\WEB-INF\classes\com\iman\em
?????文件???????6568??2016-06-30?10:59??WebRoot\WEB-INF\classes\com\liduxx\uploadfile\web\AjaxFilesUploadServlet.class
?????文件????????304??2014-11-12?19:58??WebRoot\WEB-INF\classes\log4j.properties
?????文件????????661??2016-06-30?10:47??WebRoot\WEB-INF\web.xm
?????文件???????1632??2016-06-30?10:57??.classpath
............此處省略29個文件信息
評論
共有 條評論