jsp上傳文件,form表單提交數據enctype="multipart/form-data"時servlet獲取不到type=“text”的數據問題


在上傳文件用了commons fileupload組件的情況下,servlet接收的數據只能是type=file表單元素類型,那么獲取type=text類型,就可以使用parseRequest(request)來獲取list,fileitem,判斷isFormField,為true非file類型的。就可以處理了。下面是處理的部分代碼:

DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024*1024);
String dirtemp = "c:";
File filedir = new File(dirtemp + "filetemp");
String str = null;
if (!filedir.exists())
filedir.mkdir();
factory.setRepository(filedir);
ServletFileUpload upload = new ServletFileUpload(factory);
List list=upload.parseRequest(request);
for(int i=0;i<list.size();i++)
{
FileItem item = (FileItem)list.get(i);
if(item.isFormField()){
System.out.println(item.getString());
}else{
String filename = item.getName();
item.write(new File(request.getRealPath(dir),filename)); 
}
}

另外就是,在屬性為multipart/form-data的form中別放type為text的input項目


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM