上篇已经写了spring boot 2 上传附件文件过大时,没法捕捉异常,但在我另外一个项目中,还是不起作用。
另外一个项目用的是spring boot 1.5,用的是tomcat.
解决办法如下:
@Bean
public EmbeddedServletContainerFactory tomcatEmbedded() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
// connector other settings...
// configure maxSwallowSize
if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) {
// -1 means unlimited, accept bytes
((AbstractHttp11Protocol<?>)
connector.getProtocolHandler()).setMaxSwallowSize(-1);
}
});
return tomcat;
}
加上上述代码,异常只进入了一次
spring:
multipart:
enabled: false
@Configuration
public class AttachmentConfiguration {
@Value("${spring.http.multipart.max-file-size}")
private String maxFileSize;
@Value("${spring.http.multipart.max-request-size}")
private String maxRequestSize;
@Bean
public MultipartConfigElement configElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize(maxFileSize);
factory.setMaxRequestSize(maxRequestSize);
return factory.createMultipartConfig();
}
}
至此,上传问题已解决。前后端均能正常的处理.