Posted on 2006-12-24 11:30
兵臨城下 閱讀(1852)
評(píng)論(2) 編輯 收藏 所屬分類:
Java EE
??????廢話不多說(shuō),直接看程序:
??????Web端:
<form method = "post" id = "upload" action ="servlet/UploadServlet" enctype="multipart/form-data">
<input type = "file" id = "uploadFile" name = "uploadFile">
<input type="text" name ="text1">
<input type = "submit" value = "UPLOAD">
</form>
??????Servlet端:
?public void doGet(HttpServletRequest request, HttpServletResponse response)
???throws ServletException, IOException {
??Map parameters = new HashMap();
??try {
????? FileItemFactory factory = new DiskFileItemFactory();
????? ServletFileUpload fu = new ServletFileUpload(factory);
??
????? fu.setSizeMax(4194304);
????? // 得到所有的文件,以及其它請(qǐng)求參數(shù):
?????? List fileItems = fu.parseRequest(request);
?????? Iterator i = fileItems.iterator();
?????? // 依次處理每一個(gè)文件,以及請(qǐng)求參數(shù):
?????? while(i.hasNext()) {
?????????? FileItem fi = (FileItem)i.next();
?????????? // 如果是文件項(xiàng),則保存文件到上傳目錄
?????????? if (!fi.isFormField()) {
?????????????? // 獲得文件名,這個(gè)文件名包括路徑:
?????????????? String fileName = fi.getName();
?????????????? long filesize = fi.getSize();
?????????????? System.out.println("上傳的文件名為!!!"+fileName + " size : " + filesize);
?????????????? // 寫入文件
?????????????? fileName = fileName.substring(fileName.lastIndexOf("\\"));
?????????????? String conPath = getServletContext().getRealPath("");
?????????????? fi.write(new File(conPath + "http://uploadFolder//" +fileName));
?????????? }
?????????? else { //如果是請(qǐng)求參數(shù),則保存到HashMap中
?????????????? String name = fi.getFieldName();
?????????????? String value = fi.getString();
?????????????? parameters.put(name, value);
?????????????? System.out.println(parameters);
?????????? }
?????? }
??}
??catch(Exception ex) {
????? System.out.println("上傳文件時(shí)出錯(cuò)!!!");
????? ex.printStackTrace();
??}
?}
外加導(dǎo)入兩個(gè)包:org.apache.commons.fileupload、org.apache.commons.io