2016-06-14 269 views
1

我一直在面对下面给出的这个问题。Multipart异常 - Spring Boot中的maxPostSize错误

HTTP状态500 - 请求处理失败;嵌套异常是 org.springframework.web.multipart.MultipartException:无法解析 multipart servlet请求;嵌套的异常是 java.lang.IllegalStateException:多部分请求中包含的超过 maxPostSize相关联的连接器

我已通过的类似其他线程去上设置的限制 参数数据(不包括上载的文件)问题,我也在我的应用程序配置文件中实现了下面的内容。

@Bean 
EmbeddedServletContainerCustomizer containerCustomizer() throws Exception { 
    return (ConfigurableEmbeddedServletContainer container) -> { 
     if (container instanceof TomcatEmbeddedServletContainerFactory) { 
      TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; 
      tomcat.addConnectorCustomizers(
        (connector) -> { 
         connector.setMaxPostSize(500000000); 
         connector.setSecure(true); 
         connector.setScheme("https"); 
         connector.setRedirectPort(443); 
        } 
      ); 
     } 
    }; 
} 

当我在本地机器上运行时,它使用嵌入式Tomcat时工作得很好。

但真正的问题是,当我将我的应用程序托管到AWS Elastic Beanstalk上时,出现上述错误。

我正在使用自动附带Elastic beanstalk Tomcat环境的Amazon EC2实例。

所以我的猜测是上述配置不适用于AWS,因为它不是嵌入式Tomcat?

请指导我在哪里出错,以及如何解决此问题。

+0

我可以证实这种情况亚马逊使用外,和春季启动配置不配置正确传播到Tomcat。 – Kieveli

回答

-1

尝试在application.properties这些设置:

multipart.maxFileSize: 500MB 
multipart.maxRequestSize: 500MB 

参考:https://spring.io/guides/gs/uploading-files/

+0

我已经尝试过这个,没有运气:( –

+0

也许亚马逊在他们的Beanstalk Tomcat实例上有一些限制性的配置,也许如果你运行你自己的tomcat实例,你可以改变连接器设置 –

+0

你是对的雨果我们需要编辑pre-但我不能解决这个问题 –

相关问题