-
大小: 288KB文件類型: .rar金幣: 2下載: 1 次發布日期: 2021-06-22
- 語言: Java
- 標簽:
資源簡介
使用Apache 的 Commons FileUpload 實現上傳功能。代碼中包含兩種上傳方式,普通上傳和jquery后臺上傳。

代碼片段和文件信息
package?com.upload;
import?java.io.File;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.PrintWriter;
import?java.util.List;
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.FileItemFactory;
import?org.apache.commons.fileupload.FileUploadException;
import?org.apache.commons.fileupload.disk.DiskFileItemFactory;
import?org.apache.commons.fileupload.servlet.ServletFileUpload;
public?class?JqueryFileUploadServlet?extends?HttpServlet?{
/**
?*?
?*/
private?static?final?long?serialVersionUID?=?1L;
/**
?*?The?doPost?method?of?the?servlet.?
?*?
?*?This?method?is?called?when?a?form?has?its?tag?value?method?equals?to
?*?post.
?*?
?*?@param?request
?*????????????the?request?send?by?the?client?to?the?server
?*?@param?response
?*????????????the?response?send?by?the?server?to?the?client
?*?@throws?ServletException
?*?????????????if?an?error?occurred
?*?@throws?IOException
?*?????????????if?an?error?occurred
?*/
public?void?doPost(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{
response.setCharacterEncoding(“UTF-8“);?//?設置處理請求的編碼方式
// 在Response頭中指定Content-Type為text/html,而并非text/html,是可以解決問題的。這樣返回給客戶端的是一個JSON字符串(并非JSON對象)
// ,無需IE來解析。隨后,使用JSON.parse()函數將JSON字符串解析為JSON對象即可。
// response.setContentType(“application/json;charset=UTF-8“);?//?設置Content-Type字段值
response.setContentType(“text/html;charset=UTF-8“);?//?設置Content-Type字段值
PrintWriter?out?=?response.getWriter();
//?實例化一個硬盤文件工廠,用來配置文件上傳組件ServletFileUpload
FileItemFactory?factory?=?new?DiskFileItemFactory();
ServletFileUpload?upload?=?new?ServletFileUpload(factory);?//?利用硬盤文件工廠配置文件上傳組件
List?items?=?null;?//?存放FileItem對象
try?{?//?獲取文件的FileItem對象,即表單域分為普通表單域和文件域
items?=?upload.parseRequest(request);
}?catch?(FileUploadException?e)?{
e.printStackTrace();
}
String?path?=?null;?//?存放上傳文件的完整名稱,包括路徑。
String?filename?=?“?“;?//?存放文件名
InputStream?is?=?null;
//?循環處理上傳文件
for?(FileItem?item?:?items)?{
if?(item.isFormField())?{
if?(item.getFieldName().equals(“filename“))?{
if?(!item.getString().equals(““))
filename?=?item.getString(“UTF-8“);
}
}?else?if?(item.getName().trim()?!=?null
&&?!item.getName().trim().equals(“?“))?{
path?=?item.getName();//?得到文件完整路徑
filename?=?path.substring(path.lastIndexOf(“\\“)?+?1);
is?=?item.getInputStream();?//?獲得上傳文件的InputStream對象
}
}
String?pathName?=?request.getRealPath(“/“)?+?filename;
if?(new?File(pathName).exists())?{
// out.println(“該文件已經存在,請為文件指定一個新的文件名!“);
out.println(“{\“Result\“:\“-2\“}“);
}?else?if?(!pathName.equals(““))?{
FileOutputStream?fos?=?ne
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????526??2015-01-30?17:38??uploadDemo\.classpath
?????文件????????303??2015-01-30?17:33??uploadDemo\.myme
?????文件???????1228??2015-01-30?17:35??uploadDemo\.project
?????文件???????3908??2015-02-28?15:32??uploadDemo\src\com\upload\JqueryFileUploadServlet.java
?????文件???????3414??2015-02-28?14:04??uploadDemo\src\com\upload\NormalFileUploadServlet.java
?????文件???????2727??2015-02-28?13:55??uploadDemo\WebRoot\css\WizardWuUpload_Blue.css
?????文件???????2621??2015-02-28?13:55??uploadDemo\WebRoot\css\WizardWuUpload_Green.css
?????文件???????2641??2015-02-28?13:55??uploadDemo\WebRoot\css\WizardWuUpload_Silver.css
?????文件????????511??2015-02-28?15:03??uploadDemo\WebRoot\index.jsp
?????文件???????3092??2015-02-28?15:40??uploadDemo\WebRoot\jqupload_single.jsp
?????文件??????94840??2015-02-28?13:55??uploadDemo\WebRoot\js\jquery-1.7.2.min.js
?????文件??????39718??2015-02-28?13:55??uploadDemo\WebRoot\js\jquery.form.js
?????文件??????17898??2015-02-28?15:39??uploadDemo\WebRoot\js\json2.js
?????文件???????7917??2015-02-28?15:58??uploadDemo\WebRoot\js\WizardWuUpload.js
?????文件?????????39??2015-01-30?17:33??uploadDemo\WebRoot\me
?????文件????????748??2015-02-28?14:05??uploadDemo\WebRoot\normal.jsp
?????文件???????3971??2015-02-28?15:32??uploadDemo\WebRoot\WEB-INF\classes\com\upload\JqueryFileUploadServlet.class
?????文件???????3963??2015-02-28?14:04??uploadDemo\WebRoot\WEB-INF\classes\com\upload\NormalFileUploadServlet.class
?????文件??????69002??2015-01-30?17:38??uploadDemo\WebRoot\WEB-INF\lib\commons-fileupload-1.3.1.jar
?????文件?????185140??2015-01-30?17:38??uploadDemo\WebRoot\WEB-INF\lib\commons-io-2.4.jar
?????文件???????1005??2015-02-28?14:06??uploadDemo\WebRoot\WEB-INF\web.xm
?????目錄??????????0??2015-02-28?14:06??uploadDemo\WebRoot\WEB-INF\classes\com\upload
?????目錄??????????0??2015-02-12?09:32??uploadDemo\WebRoot\WEB-INF\classes\com
?????目錄??????????0??2015-02-28?14:06??uploadDemo\src\com\upload
?????目錄??????????0??2015-02-12?09:32??uploadDemo\WebRoot\WEB-INF\classes
?????目錄??????????0??2015-01-30?17:38??uploadDemo\WebRoot\WEB-INF\lib
?????目錄??????????0??2015-01-30?17:57??uploadDemo\src\com
?????目錄??????????0??2015-02-28?13:55??uploadDemo\WebRoot\css
?????目錄??????????0??2015-02-28?15:39??uploadDemo\WebRoot\js
?????目錄??????????0??2015-01-30?17:33??uploadDemo\WebRoot\me
............此處省略8個文件信息
評論
共有 條評論