提问者:小点点

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


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

HTTP状态500-请求处理失败;嵌套异常是org. springframe.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弹性豆茎上时,我得到了上述错误。

我正在使用Amazon EC2实例,它会自动附带Elastic beanstrak Tomcat环境。

所以我的猜测是上面的配置是不工作的AWS因为它不是嵌入式Tomcat?

请指导我哪里出错了,如何解决这个问题。


共1个答案

匿名用户

application.properties上尝试这些设置:

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

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