在我的spring应用程序中获取MaxUploadSizeExceededException

时间:2015-02-23 05:22:17

标签: java spring forms spring-mvc file-upload

目前我正在使用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>

它的工作正常,具有相同的配置,除非我使用spring版本3.0.5.RELEASE,其中没有类StandardServletMultipartResolver并且控件正确进入我的CustomMultipartResolver并且我可以上传大小高达200 MB的文件。

因为这个原因,我无法继续。

1 个答案:

答案 0 :(得分:0)

我不确定您的弹簧应用程序是如何启动的,因为多部件解析器的名称是错误的。它应该是org.springframework.web.multipart.commons.CommonsMultipartResolver,而不是org.springframework.web.multipart.commons.CustomsMultipartResolver