多部分异常 - Spring Boot中的maxPostSize错误

时间:2016-06-14 09:02:05

标签: tomcat amazon-ec2 spring-boot multipartform-data amazon-elb

我一直面临这个问题,如下所示。

  

HTTP状态500 - 请求处理失败;嵌套异常是   org.springframework.web.multipart.MultipartException:无法解析   多部分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?

请指导我出错的地方以及如何解决此问题。

1 个答案:

答案 0 :(得分:-2)

application.properties上尝试这些设置:

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

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