Springmvc中ajax上传文件出现400错误
一、配置spring-mvc.xml
需要在spring-mvc.xml中配置文件上传解析器
<!-- 定义文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设定默认编码 -->
<property name="defaultEncoding" value="UTF-8" />
<!-- 设定文件上传的最大值5MB,5*1024*1024 -->
<property name="maxUploadSize" value="5242880" />
<property name="maxInMemorySize" value="4096" />
</bean>
这个错误我在实际操作中并没有遇到,因为我已经加入这块代码还是出现了400错误,但网上大多数博文都提到了这个错误。
二、控制器方法的接收参数
@RequestMapping(value = "/upload")
@ResponseBody
public String uploadFile(@RequestParam("file") CommonsMultipartFile upfile, HttpServletRequest request)
注意看**@RequestParam(“file”) CommonsMultipartFile upfile** 这个参数中,file与表单中的name属性值对应,upfile是形参。这两个值不能是相同的。在实际操作中我遇到了这个问题,网上相关博文记载较少,详细原因我还暂未了解。以后搞明白了在写出来详细原因。
三、@ResponseBody
解决了上面第二个问题后发现ajax返回404错误,很是诧异。仔细审查代码后发现忘记加上@ResponseBody注释了,刚开始学习ssm,粗心大意了。。。