Java 如何解决FileSizeLimitExceedeException错误?

Java 如何解决FileSizeLimitExceedeException错误?,java,spring,spring-boot,spring-mvc,tomcat9,Java,Spring,Spring Boot,Spring Mvc,Tomcat9,上传excel文件时出错,文件大小超过1MB [org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceeded

上传excel文件时出错,文件大小超过1MB

[org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request;
 nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException:
 The field files exceeds its maximum permitted size of 1048576 bytes.]
我试图通过应用以下配置更改来修复它,但没有一个对我有帮助

在application.yml文件中尝试配置:

我还尝试了以下注释:

@MultipartConfig(fileSizeThreshold=1024*1024*10,maxFileSize=1024*1024*10,maxRequestSize=1024*1024*10)
最后我做了这个改变:

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

但什么都不管用

您的属性中有一个拼写错误,Spring中的S是大写而不是小写

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


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

属性中有一个输入错误,Spring中的字符是大写而不是小写

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


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

在SpringBootWebApplication classMain中包含以下代码:

对于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;
}

在SpringBootWebApplication classMain中包含以下代码:

对于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;
}

我尝试了Alien的解决方案,但它给出了不推荐的错误,因此我想分享解决方案的新方法

spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.max-file-size=10MB

我尝试了Alien的解决方案,但它给出了不推荐的错误,因此我想分享解决方案的新方法

spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.max-file-size=10MB

请尝试使用以下代码:

spring:
  profiles: development
  servlet:
    multipart:
      enabled: true
      max-file-size: 10MB
      max-request-size: 10MB

请尝试使用以下代码:

spring:
  profiles: development
  servlet:
    multipart:
      enabled: true
      max-file-size: 10MB
      max-request-size: 10MB

属性名为spring.http.multipart.max-file-size,而不是spring.http.multipart.max-file-size。的可能重复项请尝试清理项目并确保没有拼写错误。属性名为spring.http.multipart.max-file-size,not Spring.http.multipart.max-file-size.的可能重复请尝试清理项目并确保没有拼写错误谢谢您的评论,此打字错误仅出现在Stackoverflow页面的副本上。在我的应用程序中,它可能只是一个小箱子。谢谢你的评论,这个打字错误只出现在Stackoverflow页面的副本上。在我的应用程序中,它可能只是一个小箱子,即弹簧