在使用Spring MVC MultipartFile 上传图片到tomcat本地时,当上传的文件大于10K时,上传成功,并且在tomcat中能看到图片,但是当图片文件小10K时,后台报空指针错误,tomcat中也能看到图片文件,但是都是0KB,并且无法打开图片。在后台日志中可以看到:
Found multipart file [file] of size 3183 bytes with orig-inal filename [1.jpg], stored at memory
说明文件是上传到内存中去了,想到跟spring-mvc.xml的配置有关,我的xml配置代码如下:
<bean id="multipartResolver"
class="org.springframework.web.multipart.
commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸 -->
<property name="defaultEncoding">
<value>utf-8</value>

当使用Spring MVC的MultipartFile上传小于10K的图片到Tomcat时,出现空指针异常。问题在于Spring的配置,默认10K以下的文件存储在内存中。通过调整`CommonsMultipartResolver`的`DEFAULT_SIZE_THRESHOLD`属性,将小于10K的文件也存储到磁盘,解决了此问题。修改配置后,文件上传成功。
最低0.47元/天 解锁文章
1314

被折叠的 条评论
为什么被折叠?



