【发布时间】:2015-02-23 05:22:17
【问题描述】:
目前我正在开发 Spring 应用程序,它使用 spring veriosn 作为 3.2.12.RELEASE、tomcat 7、Servlet 3.0 并在我尝试上传大小超过 2MB 的文件时在 tomcat 控制台中获取“MaxUploadSizeExceededException”。它适用于小于 2MB 大小的文件。
我已将 CustomMultipartResolver 配置如下,依次扩展 CommonMultipartResolver:-
在 bean 实体下配置。将 maxUploadSize 配置为 200 MB
<bean id="multipartResolver" class="my.custom.multipart.resolver.CustomsMultipartResolver">
<property name="maxUploadSize" value="209715200" />
</bean>
但是我的控件没有进入这个类,只是进入了 StandardServletMultipartResolver 类的 resolveMultipart 方法。对于大小超过 2MB 的文件,方法 request.getPart() 方法抛出 IllegalStateException 并最终得到 SizeLimitExceededException。
我也尝试在我的 web.xml 中添加以下代码,但它也没有用
<multipart-config>
<!-- 200MB max -->
<max-file-size>209715200</max-file-size>
<max-request-size>209715200</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
它在相同的配置下工作正常,除非我使用没有类 StandardServletMultipartResolver 的 spring 版本 3.0.5.RELEASE 并且控件正确进入我的 CustomMultipartResolver 并且我可以上传大小高达 200 MB 的文件。
因此我无法继续。
【问题讨论】:
-
2mb 似乎是默认值,您是否将 maxUploadSize 传递给 CommonsMultipartResolver
标签: java spring forms spring-mvc file-upload