在写简易的文件上传的时候报出这样的错误,大致搜索了一下,总结出来几种改错方法。
1、首先看在MVC的配置文件中,是否配置了文件上传处理器,代码如下:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="1073741824"></property>
<property name="defaultEncoding" value="UTF-8"></property>
</bean>
2、查看在文件上传的表单中是否定义enctype属性,因为它的默认值为:application/x- www-form-urlencoded
<form method="post" enctype="multipart/form-data" name="fileForm" id="fileForm">
3、在jsp页面的head标签内是否定义:
<meta http-equiv="Content-Type" content="multipart/form-data; charset=utf-8" />
4、如果应用Ajax,需要在修改Ajax的属性值:
$("#fileForm").ajaxSubmit(
{
encType: 'multipart/form-data',
cache : false,
async: false,
processData : false,
contentType : false,
});
5、以上方法使用后继续报错,则需要修改traditional属性
$("#fileForm").ajaxSubmit(
{
encType: 'multipart/form-data',
cache : false,
async: false,
processData : false,
contentType : false,
traditional: true,
});