一、情况演示
-
SpringMVC-servlet.xml
<!-- 配置文件上传多部件解析器 MultipartResolver --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 该bean的id不能改成别的 --> <!-- 设置请求编码格式 要与jsp页中的pageEncoding的值一致--> <property name="defaultEncoding" value="UTF-8"/> <!-- 设置允许上传的文件大小最大值(以字节位单位) --> <property name="maxUploadSize" value="5485760"></property> <!-- 此处设为5MB 5*1024*1024--> </bean>
这里设置了文件上传大小最大为5M,小于5M,则文件上传成功,大于5M,则文件上传失败
-
文件小于5M上传成功
-
文件大于5M上传失败
二、原因及解决方案
-
原因
这里其实是tomcat版本出现了问题,如果使用apache-tomcat-7.0.39这个版本的tomcat,上面的配置就是正确的,不会出现该问题, 但是如果是其他版本的tomcat,那么就会出现上面连接重置问题,传送门看详情When uploading a large file, larger than the specified maximum, the exception org.springframework.web.multipart.MaxUploadSizeExceededException (caused by a org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException) is caught via an @ExceptionHandler. After logging the exception and resolving some parameters from the inputstream a redirect is performed like this:
return new org.sprin