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

本文介绍了解决SpringBoot应用中文件上传超过配置文件大小限制而导致的多次异常响应问题。通过自定义Tomcat的MaxSwallowSize参数可以有效避免前端接收不到错误信息的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值