/UploadFileServlet"method="post"target="hidden_frame">

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

用FileUpload做得文件上傳

系統(tǒng) 1895 0
Html代碼 復制代碼
  1. < form ? id = 'myform' ? enctype = "multipart/form-data" ? action = "<%=webapp?%>/UploadFileServlet" ??
  2. ? method = "post" ? target = "hidden_frame" > ??
  3. < input ? type = "file" ? name = "file" ? id = "file" ? size = "10" ? onchange = "this.form.submit();" ? /> ??
  4. < iframe ? name = 'hidden_frame' ? id = "hidden_frame" ? style = 'display:none' > </ iframe > ??
  5. </ form > ??
    <form id='myform' enctype="multipart/form-data" action="<%=webapp %>/UploadFileServlet"
?method="post" target="hidden_frame">
<input type="file" name="file" id="file" size="10" onchange="this.form.submit();" />
<iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>
</form>
  

?

webapp是項目的路徑名

String webapp=request.getContextPath();

?

后臺代碼:

?

Java代碼 復制代碼
  1. import ?java.io.File; ??
  2. import ?java.io.IOException; ??
  3. import ?java.io.PrintWriter; ??
  4. import ?java.util.ArrayList; ??
  5. import ?java.util.HashMap; ??
  6. import ?java.util.List; ??
  7. import ?java.util.Map; ??
  8. ??
  9. import ?javax.servlet.ServletException; ??
  10. import ?javax.servlet.http.HttpServletRequest; ??
  11. import ?javax.servlet.http.HttpServletResponse; ??
  12. ??
  13. import ?org.apache.commons.fileupload.FileItem; ??
  14. import ?org.apache.commons.fileupload.disk.DiskFileItemFactory; ??
  15. import ?org.apache.commons.fileupload.servlet.ServletFileUpload; ??
  16. import ?org.apache.log4j.Logger; ??
  17. ??
  18. import ?com.siyue.ciap.beans.dic.EnvBean; ??
  19. import ?com.siyue.ciap.dao.cms.UUIDGenerator; ??
  20. import ?com.siyue.ciap.dao.phone.ReadFileUtil; ??
  21. import ?com.siyue.ciap.dao.uitls.ObjectToJSON; ??
  22. import ?com.siyue.ciap.service.uitl.SpringFacesUtil; ??
  23. ??
  24. ??
  25. public ? class ?UploadFileServlet? extends ?javax.servlet.http.HttpServlet? implements ?javax.servlet.Servlet?{ ??
  26. ??
  27. ???? private ? static ? final ?Logger?logger?=?Logger.getLogger(UploadFileServlet. class ); ??
  28. ???? ??
  29. ???? protected ? void ?doGet(HttpServletRequest?request,?HttpServletResponse?response) ??
  30. ???????????? throws ?ServletException,?IOException?{ ??
  31. ???????? this .doPost(request,?response); ??
  32. ????} ??
  33. ??
  34. ???? protected ? void ?doPost(HttpServletRequest?request,?HttpServletResponse?response) ??
  35. ???????????? throws ?ServletException,?IOException?{ ??
  36. ????????System.out.println( "execute?Upload?File................." ); ??
  37. ????????PrintWriter?out?=?response.getWriter(); ??
  38. ????????EnvBean?envBean?=(EnvBean)SpringFacesUtil ??
  39. ???????????????.getBean( this .getServletContext(),? "EnvBean" ); ??
  40. ????????String?uploadPath?=?envBean.getEnv().getProperty( "upload_dest" ); //上傳的路徑 ??
  41. ????????UUIDGenerator?generator= new ?UUIDGenerator(); ??
  42. ????????DiskFileItemFactory?factory?=? new ?DiskFileItemFactory(); ??
  43. ????????factory.setSizeThreshold( 4096 ); //設置緩沖 ??
  44. ????????factory.setRepository( new ?File(uploadPath)); //設置緩沖區(qū)目錄 ??
  45. ????????ServletFileUpload?upload?=? new ?ServletFileUpload(factory); ??
  46. ???????? boolean ?isMultipart?=?ServletFileUpload.isMultipartContent(request); ??
  47. ????????upload.setSizeMax( 1024000000 ); ??
  48. ????????List?items?=? new ?ArrayList(); ??
  49. ???????? try ?{ ??
  50. ????????????items?=?upload.parseRequest(request); ??
  51. ????????????Map?rtnMap?=? new ?HashMap(); ??
  52. ???????????? for ( int ?i= 0 ;i<items.size();i++)?{ ??
  53. ????????????????FileItem?item?=?(FileItem)?items.get(i); ??
  54. ????????????????String?autoFileName?=?generator.generate().toString(); ??
  55. ???????????????? if ( "" .equals(item.getName())) continue ; ??
  56. ???????????????? //獲得文件名 ??
  57. ????????????????String?fileName?=?item.getName().substring(item.getName() ??
  58. ???????????????????????????????.lastIndexOf( "\\" )+ 1 ,?item.getName().length()); ??
  59. ???????????????? //獲得文件后綴名 ??
  60. ????????????????String?extName?=?fileName ??
  61. ???????????????????????????????.substring(fileName.lastIndexOf( "." )+ 1 ,?fileName.length()); ??
  62. ???????????????? //判斷文件類型 ??
  63. ???????????????? if (!( "xls" .equalsIgnoreCase(extName)?||? "txt" .equalsIgnoreCase(extName)?||? ??
  64. ???????????????????????? "csv" .equalsIgnoreCase(extName)))?{ ??
  65. ????????????????????out.print( "<script>alert('您上傳的文件不是excel|txt|csv類型!');</script>" ); ??
  66. ????????????????????out.close(); ??
  67. ????????????????} else ?{ ??
  68. ????????????????????String?fileOnlyName?=?uploadPath?+?autoFileName?+? "." ?+?extName; ??
  69. ????????????????????item.write( new ?File(fileOnlyName)); ??
  70. ????????????????????Map?excelMap?=? null ; ??
  71. ???????????????????? if ( "xls" .equalsIgnoreCase(extName))?{ ??
  72. ????????????????????????System.out.println( "fileOnlyName------>" +fileOnlyName); ??
  73. ????????????????????????excelMap?=?ReadFileUtil.readSheetName(fileOnlyName); ??
  74. ????????????????????} ??
  75. ????????????????????rtnMap.put( "file" ,?fileOnlyName); ??
  76. ????????????????????rtnMap.put( "sheet" ,?excelMap); ??
  77. ????????????????????out.print( "<script>parent.callBack(" +ObjectToJSON.MapToJsonStr(rtnMap)+ ")</script>" ); ??
  78. ????????????????????out.close(); ??
  79. ????????????????} ??
  80. ????????????} ??
  81. ????????}? catch ?(Exception?e)?{ ??
  82. ????????????e.printStackTrace(); ??
  83. ????????} ??
  84. ????} ??
  85. ???? ??
  86. }??
    import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.log4j.Logger;

import com.siyue.ciap.beans.dic.EnvBean;
import com.siyue.ciap.dao.cms.UUIDGenerator;
import com.siyue.ciap.dao.phone.ReadFileUtil;
import com.siyue.ciap.dao.uitls.ObjectToJSON;
import com.siyue.ciap.service.uitl.SpringFacesUtil;


public class UploadFileServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {

	private static final Logger logger = Logger.getLogger(UploadFileServlet.class);
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("execute Upload File.................");
		PrintWriter out = response.getWriter();
		EnvBean envBean =(EnvBean)SpringFacesUtil
               .getBean(this.getServletContext(), "EnvBean");
		String uploadPath = envBean.getEnv().getProperty("upload_dest");//上傳的路徑
		UUIDGenerator generator=new UUIDGenerator();
		DiskFileItemFactory factory = new DiskFileItemFactory();
		factory.setSizeThreshold(4096);//設置緩沖
		factory.setRepository(new File(uploadPath));//設置緩沖區(qū)目錄
		ServletFileUpload upload = new ServletFileUpload(factory);
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		upload.setSizeMax(1024000000);
		List items = new ArrayList();
		try {
			items = upload.parseRequest(request);
			Map rtnMap = new HashMap();
			for(int i=0;i<items.size();i++) {
				FileItem item = (FileItem) items.get(i);
				String autoFileName = generator.generate().toString();
				if("".equals(item.getName()))continue;
				//獲得文件名
				String fileName = item.getName().substring(item.getName()
                               .lastIndexOf("\\")+1, item.getName().length());
				//獲得文件后綴名
				String extName = fileName
                               .substring(fileName.lastIndexOf(".")+1, fileName.length());
				//判斷文件類型
				if(!("xls".equalsIgnoreCase(extName) || "txt".equalsIgnoreCase(extName) || 
						"csv".equalsIgnoreCase(extName))) {
					out.print("<script>alert('您上傳的文件不是excel|txt|csv類型!');</script>");
					out.close();
				}else {
					String fileOnlyName = uploadPath + autoFileName + "." + extName;
					item.write(new File(fileOnlyName));
					Map excelMap = null;
					if("xls".equalsIgnoreCase(extName)) {
						System.out.println("fileOnlyName------>"+fileOnlyName);
						excelMap = ReadFileUtil.readSheetName(fileOnlyName);
					}
					rtnMap.put("file", fileOnlyName);
					rtnMap.put("sheet", excelMap);
					out.print("<script>parent.callBack("+ObjectToJSON.MapToJsonStr(rtnMap)+")</script>");
					out.close();
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
}
  

?

Java代碼 復制代碼
  1. EnvBean?envBean?=(EnvBean)SpringFacesUtil ??
  2. ???????????????.getBean( this .getServletContext(),? "EnvBean" ); ??
  3. ????????String?uploadPath?=?envBean.getEnv().getProperty( "upload_dest" ); //上傳的路徑 ??
    EnvBean envBean =(EnvBean)SpringFacesUtil
               .getBean(this.getServletContext(), "EnvBean");
		String uploadPath = envBean.getEnv().getProperty("upload_dest");//上傳的路徑

  

這句是調Spring找類,根據(jù)實際情況變化

Java代碼 復制代碼
  1. UUIDGenerator?generator= new ?UUIDGenerator(); ??
  2. String?autoFileName?=?generator.generate().toString();??
    UUIDGenerator generator=new UUIDGenerator();
String autoFileName = generator.generate().toString();
  

這句是給每個上傳的文件加一個唯一標示,可用別的方法替代

Java代碼 復制代碼
  1. ObjectToJSON這個類是自己寫一個Object和Json互轉的類??

用FileUpload做得文件上傳


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲国产九九精品一区二区 | 色综合久久中文综合网 | 五月综合在线 | 成人91在线 | 99国产超薄丝袜足j在线播放 | 国产色综合久久无码有码 | 中文字幕久精品免费视频 | 四虎影视在线影院在线观看观看 | 亚洲高清在线观看 | 免费看国产精品麻豆 | 国产高清在线a视频大全凹凸 | 久久er热在这里只有精品85 | 免费激情网址 | 黄色成人在线网站 | 国产成人精品视频一区二区不卡 | 日韩a级黄色片 | 一级毛片高清大全免费观看 | 久久久综合久久 | 99精品视频免费 | 亚洲精品美女一区二区三区乱码 | 奇米影视777在线播放 | 看黄色免费网站 | 老师粗又长好猛好爽视频 | 国产成人高清精品免费观看 | 一区二区三区免费视频网站 | 欧美在线小视频 | 狠狠色噜噜狠狠狠狠888奇米 | 亚洲一区二区三区四区五区 | 国产亚洲精品久久午夜 | 国产精品久久久久久久毛片 | 亚洲精品一区二区久久久久 | 亚洲爱爱天堂 | 欧美激情在线播放 | 欧美成人一级毛片 | 欧美日韩视频在线成人 | 日韩一区三区 | 欧美色视频日本片免费高清 | 91中文字幕在线观看 | 午夜精品久久久久久毛片 | 免费精品久久久视频 | 亚洲无卡视频 |