配置Spring项目http请求body大小

    build.gradle里面添加了依赖spring-boot-starter-web,这个依赖默认使用tomcat作为底层web容器。如果前端有提交比较大的文件要修改允许的最大文件大小,可以在application.properties中使用:

spring.http.multipart.max-file-size=200MB
spring.http.multipart.max-request-size=200MB

    比如以上我将最大单个文件大小修改200M。

    但是如果碰到要将文件编码比如base64之后作为body字段提交,以上配置就无效了,这时候得修改tomcat。

@Configuration
public class TomcatConfig {
    @Value("${http.multipart.max-post-size}")
    private int maxPostSize;

    @Bean
    EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {
        return (ConfigurableEmbeddedServletContainer container) -> {
            if (container instanceof TomcatEmbeddedServletContainerFactory) {
                TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory)container;
                tomcat.addConnectorCustomizers((connector) -> {
                    connector.setMaxPostSize(this.maxPostSize);
                });
            }
        };
    }
}
可以看到我用
@Value("${http.multipart.max-post-size}")

来引用application.properties中名为http.multipart.max-post-size的值来作为最大body大小。

所以我在application.properties中有一个配置项:

http.multipart.max-post-size=200000000


你可能感兴趣的:(Java)