SpringMVC使用commons fileupload 上传文件,parseRequest(request)得到的集合为空,急等大神指点。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC使用commons fileupload 上传文件,parseRequest(request)得到的集合为空,急等大神指点。相关的知识,希望对你有一定的参考价值。

java使用commons fileupload 上传文件, List<FileItem> fileItems = sfUpload.parseRequest(request)得到的集合为空。请大神指点。
1、没有使用struts,使用的springmvc3.0
2、request中有数据,ServletFileUpload.isMultipartContent(request)得到的是true

服务器代码:
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart)
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfUpload = new ServletFileUpload(factory);
sfUpload.setHeaderEncoding("UTF-8");
List<FileItem> fileItems = sfUpload.parseRequest(request); // 这里取到的fileItems为空
Iterator<FileItem> iter = fileItems.iterator();
while (iter.hasNext())
FileItem item = iter.next();
if (!item.isFormField())
String fpath = item.getName();
//执行文件上传
...




JSP页面:
<form action="upload.do" id="upForm" name="upForm" method="post" enctype="multipart/form-data">
<input type="file" name="imgFile" id="imgFile" />
</form>

参考技术A 既然你已经用了Spring MVC,就没有必要自己写上传的代码了,这样做
下一个这样的方法,把MultipartFile传进去
public String upload(@RequestParam(value = "image") MultipartFile image)
然后就可以这样做了
image.transferTo(new File("想要保存到哪里"));

image还有其他的方法,自己看一下就可以了

XML配置一个bean

<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="104857600" />
<property name="maxInMemorySize" value="4096" />
<property name="defaultEncoding" value="utf-8" />
</bean>

以上是关于SpringMVC使用commons fileupload 上传文件,parseRequest(request)得到的集合为空,急等大神指点。的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC使用commons fileupload 上传文件,parseRequest(request)得到的集合为空,急等大神指点。

用angularjs进行文件上传

springmvc 文件上传

工具Maven

SpringMvc (注解)中的上传文件

SpringMVC——文件上传拦截器