Java 如何解决FileSizeLimitExceedeException错误?
上传excel文件时出错,文件大小超过1MBJava 如何解决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
[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页面的副本上。在我的应用程序中,它可能只是一个小箱子,即弹簧