springboot文件上传超过配置大小导致前端无返回信息

spring boot 文件上传超过配置文件大小,多次进入异常处理返回,从而多次响应,导致前端拿不到错误信息

 

解决办法:需要配置tomcat的connector的MaxSwallowSize为-1(无限制)或者大于等于spring中单个请求的文件上传打大小,建议设置大于等于spring的配置,另外spring boot暂未提供该属性的自定义配置,需要手动创建tomcat来配置connector

  @Bean
  public TomcatEmbeddedServletContainerFactory 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;

    }

这样做造成了其他问题请拍砖。

参考资料:https://www.mkyong.com/spring-boot/spring-boot-configure-maxswallowsize-in-embedded-tomcat/

 

 

 

 

阅读更多

没有更多推荐了,返回首页