我一直面临这个问题,如下所示。
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?
请指导我哪里出错了,如何解决这个问题。
在application.properties
上尝试这些设置:
multipart.maxFileSize: 500MB
multipart.maxRequestSize: 500MB
参考:https://spring.io/guides/gs/uploading-files/