-
大小: 1.88MB文件類型: .zip金幣: 2下載: 0 次發布日期: 2023-09-01
- 語言: JavaScript
- 標簽: FileUpload??Upload??實例??項目??
資源簡介
GitHub上JqueryFileUpload的實例,包括前后臺,能實現文件上傳,縮略圖預覽等功能,jdk1.7 Tomcat 7

代碼片段和文件信息
package?upload;
import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileReader;
import?java.io.IOException;
import?java.io.PrintWriter;
import?java.util.List;
import?javax.servlet.ServletConfig;
import?javax.servlet.ServletContext;
import?javax.servlet.ServletException;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
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;
/**
?*?
?*?文件上傳?具體步驟:?1)獲得磁盤文件條目工廠?DiskFileItemFactory?要導包?2)?利用?request?獲取?真實路徑
?*?,供臨時文件存儲,和?最終文件存儲?,這兩個存儲位置可不同,也可相同?3)對?DiskFileItemFactory?對象設置一些?屬性
?*?4)高水平的API文件上傳處理?ServletFileUpload?upload?=?new?ServletFileUpload(factory);
?*?目的是調用?parseRequest(request)方法?獲得?FileItem?集合list?,
?*?
?*?5)在?FileItem?對象中?獲取信息,?遍歷,?判斷?表單提交過來的信息?是否是?普通文本信息?另做處理?6)?第一種.?用第三方?提供的
?*?item.write(?new?File(pathfilename)?);?直接寫到磁盤上?第二種.?手動處理
?*?
?*/
public?class?UploadProcessorServlet?extends?HttpServlet?{
private?static?final?long?serialVersionUID?=?1L;
//?保存文件的目錄
private?static?String?PATH_FOLDER?=?“/“;
//?存放臨時文件的目錄
private?static?String?TEMP_FOLDER?=?“/“;
//存放返回字節的Json目錄
private?static?String?JSON_FOLDER?=“/“;
@Override
public?void?init(ServletConfig?config)?throws?ServletException?{
ServletContext?servletCtx?=?config.getServletContext();
//?初始化路徑
//?保存文件的目錄
PATH_FOLDER?=?servletCtx.getRealPath(“/upload“);
//?存放臨時文件的目錄存放xxx.tmp文件的目錄
TEMP_FOLDER?=?servletCtx.getRealPath(“/uploadTemp“);
//JSON目錄
JSON_FOLDER=servletCtx.getRealPath(“/“);
}
/**
?*?@see?HttpServlet#doGet(HttpServletRequest?request?HttpServletResponse
?*??????response)
?*/
protected?void?doGet(HttpServletRequest?request
HttpServletResponse?response)?throws?ServletException?IOException?{
request.setCharacterEncoding(“utf-8“);?//?設置編碼
response.setCharacterEncoding(“utf-8“);
response.setContentType(“text/html;charset=UTF-8“);
//?獲得磁盤文件條目工廠
DiskFileItemFactory?factory?=?new?DiskFileItemFactory();
//?如果沒以下兩行設置的話,上傳大的?文件?會占用?很多內存,
//?設置暫時存放的?存儲室??這個存儲室,可以和?最終存儲文件?的目錄不同
/**
?*?原理?它是先存到?暫時存儲室,然后在真正寫到?對應目錄的硬盤上,?按理來說?當上傳一個文件時,其實是上傳了兩份,第一個是以?.tem
?*?格式的?然后再將其真正寫到?對應目錄的硬盤上
?*/
factory.setRepository(new?File(TEMP_FOLDER));
//?設置?緩存的大小,當上傳文件的容量超過該緩存時,直接放到?暫時存儲室
factory.setSizeThreshold(1024?*?1024);
//?高水平的API文件上傳處理
ServletFileUpload?upload?=?new?ServletFileUpload(factory);
try?{
//?提交上來的信息都在這個list里面
//?這意味著可以上傳多個文件
//?請自行組織代碼
List?list?=?upload.parseRequest(request);
//?獲取上傳的文件
FileItem?item?=?getUploadFileItem(list);
//?獲取文件名
String?filename?=?getUploadFileName(item);
System.out.println(“存放目錄:“?+?PATH_FOLDER);
System.out.println(“
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-07-31?21:58??JqueryFileUpload\
?????文件?????????727??2014-07-31?21:58??JqueryFileUpload\.classpath
?????文件????????1108??2014-07-31?21:58??JqueryFileUpload\.project
?????目錄???????????0??2014-07-31?21:58??JqueryFileUpload\.settings\
?????文件?????????503??2014-07-31?21:58??JqueryFileUpload\.settings\.jsdtscope
?????文件?????????364??2014-07-31?21:58??JqueryFileUpload\.settings\org.eclipse.jdt.core.prefs
?????文件?????????498??2014-07-31?21:58??JqueryFileUpload\.settings\org.eclipse.wst.common.component
?????文件?????????305??2014-07-31?21:58??JqueryFileUpload\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件??????????49??2014-07-31?21:58??JqueryFileUpload\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2014-07-31?21:58??JqueryFileUpload\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件?????????757??2014-07-31?21:58??JqueryFileUpload\.tomcatplugin
?????目錄???????????0??2014-07-31?21:58??JqueryFileUpload\WebContent\
?????文件?????????207??2014-07-31?21:58??JqueryFileUpload\WebContent\.#webclasspath
?????目錄???????????0??2014-07-31?21:58??JqueryFileUpload\WebContent\me
?????文件??????????39??2014-07-31?21:58??JqueryFileUpload\WebContent\me
?????目錄???????????0??2014-07-31?21:58??JqueryFileUpload\WebContent\WEB-INF\
?????目錄???????????0??2014-07-31?21:58??JqueryFileUpload\WebContent\WEB-INF\lib\
?????文件???????68622??2014-07-31?21:58??JqueryFileUpload\WebContent\WEB-INF\lib\commons-fileupload-1.3.jar
?????文件???????83613??2014-07-31?21:58??JqueryFileUpload\WebContent\WEB-INF\lib\commons-io-1.3.1.jar
?????文件?????????730??2014-07-31?21:58??JqueryFileUpload\WebContent\WEB-INF\web.xm
?????目錄???????????0??2014-07-31?21:58??JqueryFileUpload\WebContent\css\
?????文件????????6815??2014-07-31?21:58??JqueryFileUpload\WebContent\css\blueimp-gallery.min.css
?????文件???????99967??2014-07-31?21:58??JqueryFileUpload\WebContent\css\bootstrap.min.css
?????文件?????????417??2014-07-31?21:58??JqueryFileUpload\WebContent\css\demo-ie8.css
?????文件????????1191??2014-07-31?21:58??JqueryFileUpload\WebContent\css\demo.css
?????文件?????????453??2014-07-31?21:58??JqueryFileUpload\WebContent\css\jquery.fileupload-nosc
?????文件?????????388??2014-07-31?21:58??JqueryFileUpload\WebContent\css\jquery.fileupload-ui-nosc
?????文件????????1159??2014-07-31?21:58??JqueryFileUpload\WebContent\css\jquery.fileupload-ui.css
?????文件?????????691??2014-07-31?21:58??JqueryFileUpload\WebContent\css\jquery.fileupload.css
?????文件?????????309??2014-07-31?21:58??JqueryFileUpload\WebContent\css\st
?????文件????????9710??2014-07-31?21:58??JqueryFileUpload\WebContent\index.html
............此處省略35個文件信息
評論
共有 條評論