commons fileupload 文件上传乱码问题解决方案 + request.getParameter无法得到参数问题

来源:互联网 发布:商务软件解决方案 编辑:程序博客网 时间:2024/05/21 17:48

  1. 1.   DiskFileItemFactory factory = new DiskFileItemFactory();   
  2.     ServletFileUpload upload = new ServletFileUpload(factory);   
  3.     upload.setHeaderEncoding("utf-8")   
  4.   
  5. 2.jsp文件的request.setCharacterEncoding("UTF-8");   
  6.   
  7. 3.      FileItem item = (FileItem) itr.next();   
  8.   
  9.      String value = new String(item.getString().getBytes()) ;   
  10.   
  11. 均无效!   
  12.   
  13. 最终的解决办法是 使用 org.apache.commons.fileupload组件里的一个方法:   
  14.   
  15.     String value = new String(item.getString("UTF-8")) ;  


  16.  //解决request.getParameter问题
  17.  DiskFileItemFactory factory = new DiskFileItemFactory();
      ServletFileUpload upload = new ServletFileUpload(factory);
      try
      {
       List items = upload.parseRequest(request);
       Iterator iterator = items.iterator();
       while (iterator.hasNext())
       {
        FileItem item = (FileItem) iterator.next();
        if (item.isFormField())
        {
         String fieldName = item.getFieldName();
         if ("fileUpload".equals(fieldName))
         {
          String value = new String(item.getString("utf-8"));
         }
        }
       }
      } catch (Exception e)
      {
      }

转自:http://blog.csdn.net/lxqssx/article/details/3283865