- 1. DiskFileItemFactory factory = new DiskFileItemFactory();
- ServletFileUpload upload = new ServletFileUpload(factory);
- upload.setHeaderEncoding("utf-8")
- 2.jsp文件的request.setCharacterEncoding("UTF-8");
- 3. FileItem item = (FileItem) itr.next();
- String value = new String(item.getString().getBytes()) ;
- 均无效!
- 最终的解决办法是 使用 org.apache.commons.fileupload组件里的一个方法:
- String value = new String(item.getString("UTF-8")) ;
- //解决request.getParameter问题
- 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