springmvc文件上传,出现400 的错误问题

遇见的原因是公司系统上的图片上传忽然不好使了,报错400。单独针对这个模块调了好长时间都没解决,后来才发现前几天做过一个excel上传导入的功能。。。

使用SptingMVC3.1.3 对于文件上传提交的表单我们都会写:enctype="multipart/form-data" 的一个设置, 那么值得注意的问题出现了, 对于表单post提交的数据无法绑定到后台的参数中, 紧接着服务器会向浏览器客户端抛HTTP STATUS 400 的错误。

controller.java

jsp:

form 标签中加入 enctype="multipart/form-data" 表示该表单要提交文件。

<form action="upload/file-upload.do" method="post" enctype="multipart/form-data">
     <input type="file" name="file">
     <input type="submit" value="提交">
</form>

其中List<FileItem> filelist为空,获取不到上传文件。

经过查找,发现excel导入的时候,加入了这样一段配置。

Spring-servlet.xml

<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"></property>
</bean>

这两种分别是两种上传文件的设置方式,但是不能同时使用。

第一种方式:将配置文件注释掉。

第二种方式:将controller接收参数的方式修改下。

 

posted on 2018-07-31 10:00  qiujiababy  阅读(4553)  评论(0编辑  收藏  举报

导航