如何解决FileSizeLimitExceededException错误?

问题描述 投票:0回答:2

我上传excel文件大小时误差超过1MB。

[org.springframework.web.multipart.MultipartException:无法解析多部分servlet请求;嵌套异常是java.lang.IllegalStateException:org.apache.tomcat.util.http.fileupload.FileUploadBase $ FileSizeLimitExceededException:字段文件超过其允许的最大大小1048576字节。

我尝试通过以下配置更改来解决,但它们都没有帮助我。

在这里,我正在使用(1)Spring启动:1.5.2(2)Tomcat 9.0

第1步:application.yml spring: http: multipart: max-file-size:5MB max-request-size:5MB

第2步:我也尝试使用以下注释:

@MultipartConfig(fileSizeThreshold=1024*1024*10,maxFileSize=1024*1024*10,maxRequestSize=1024*1024*10)

第3步:<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxSwallowSize="-1" />

你能帮忙吗?

java spring spring-boot spring-mvc tomcat9
2个回答
1
投票

你的房产中有一个错字S在Spring是大写而不是小写。

使用spring-boot 1.5.2,您可以在application.yml中使用以下属性

spring:
 http:
  multipart:
   max-file-size: 100MB
   max-request-size: 100MB

确保在yaml文件中使用空格而不是制表符。


0
投票

在SpringBootWebApplication类(Main)中包含以下代码:

对于Java 8:

@Bean
public TomcatEmbeddedServletContainerFactory tomcatEmbedded() {
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
    tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
        if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) {
            //-1 for unlimited
            ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1);
        }
    });
    return tomcat;
}

对于Java 7:

@Bean
public TomcatEmbeddedServletContainerFactory tomcatEmbedded() {
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
    tomcat.addConnectorCustomizers(new TomcatConnectorCustomizer()  {
        @Override
        public void customize(Connector connector) {
            if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) {
                //-1 for unlimited
                ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1);
            }
        }
    });
    return tomcat;
}
© www.soinside.com 2019 - 2024. All rights reserved.