apache上传包类使用错误

daishunchao 发布于 2012/04/26 15:20
阅读 315
收藏 0
filePath=request.getRealPath("RMS"); 
	 			  response.setContentType("text/plain");
	 			   //向客户端发送响应正文
	 			  PrintWriter outNet = response.getWriter();
	 			  DiskFileItemFactory factory = new DiskFileItemFactory();
	 			  factory.setSizeThreshold(4*1024);
	 			 //设置临时目录
	 			  //factory.setRepository(new File(tempFilePath));
	 			  //创建一个文件上传处理器
	 			  ServletFileUpload upload = new ServletFileUpload(factory);
	 			  //设置允许上传的文件的最大尺寸,此处为4M
	 			  upload.setSizeMax(4*1024*1024);
	 			  List items = upload.parseRequest(request);
	 			  Iterator iter = items.iterator();
	 			  while(iter.hasNext()) {
	 			  FileItem item = (FileItem)iter.next();
	 			  if(item.isFormField()) {
	 			       //处理普通的表单域
	 			   }else {
	 				 processUploadedFile(item,outNet); //处理上传文件}

利用APACHE的上传包,用DEBUG试了下为什么进不了 while(iter.hasNext()) {}里面呢

我前台HTML

   <form id="formFile" action="<%=contextPath%>/act/uploadFile.act" method="post" enctype="multipart/form-data" >
   <table class="TableBlock" width="400" align="center">
    <tr class="TableLine1">
      <td nowrap>名称:</td>
      <td nowrap>     
      <input type="text" name="" id="" size="10" >&nbsp;</td>
      </td>
    </tr>
    <tr class="TableLine2">
      <td nowrap>类型:</td>
      <td nowrap>
       <select name="" id="">
       <option value="0">请选择</option>
      </select>
      </td>
      </tr>
      <tr class="TableLine2">
      <td nowrap>浏览:</td>
      <td nowrap>
       <input type="file" title="浏览" >
      </td>
    </tr>
        <tr class="TableControl">
     <td colspan="9" align="center">
      <input type="submit" value="上传"  id="upload" class="BigButton">&nbsp;&nbsp;
     </td>
    </tr>
   </table>
   </form>

加载中
0
daishunchao
daishunchao
 List items = upload.parseRequest(request); 发现得不到数据啊
0
红薯
红薯

错误在哪里啊,错误在哪里?错误在那青翠的山林里,那里有红花呀,那里有绿草.....

FileItem item = (FileItem)iter.next();

你这个强制转换是有问题的吧,因为你表单中还有其他非文件字段,你应该捕获一下异常然后打印出来看看

用户已屏蔽
用户已屏蔽
红薯呀 你也会唱这歌呀
jeffsui
jeffsui
en,@红薯 大哥说的极是, 先判断下你的字段中那些不是File类型,然后在考虑上传。
daishunchao
daishunchao
红薯大哥,今天很感谢你哈,这个模块功能以前没用过,谢谢你了!幽默了一把!!!
返回顶部
顶部