You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中调整maxPostSize解决大文件上传报错问题

解决大文件上传时maxPostSize参数超限问题
  • 移除自定义的Tomcat Connector配置Bean
    你当前自定义的WebServerFactoryCustomizer存在两处问题:一是Spring Boot 2.x已通过server.tomcat.max-http-form-post-size属性原生支持该配置,无需手动编码;二是你错误复用了spring.servlet.multipart.max-request-size(控制整个请求总大小)来设置maxPostSize(仅控制非文件表单参数大小),导致配置逻辑错位。直接删除这个Bean即可。

  • 修正application.properties配置
    针对报错中「非文件参数数据超限」的核心问题,重点调整server.tomcat.max-http-form-post-size,同时保留文件相关配置:

    # 单文件最大允许大小
    spring.servlet.multipart.max-file-size=250MB
    # 整个请求(含文件+表单参数)的最大允许大小
    spring.servlet.multipart.max-request-size=250MB
    # 非文件表单参数的最大允许大小,设为-1表示无限制
    server.tomcat.max-http-form-post-size=-1
    # 允许Tomcat处理超出大小的请求,避免连接重置
    server.tomcat.max-swallow-size=-1
    

    说明:server.tomcat.max-http-form-post-size支持具体数值(如250000000)或带单位的字符串(如250MB),设置为-1即可完全取消限制。

  • 排查配置覆盖情况
    检查是否存在其他配置类、外部Tomcat配置文件(嵌入式Tomcat可忽略)或第三方依赖修改了Tomcat Connector的maxPostSize属性。可以通过启动日志搜索maxPostSize关键词,确认最终生效的配置值是否符合预期。

  • 验证触发报错的请求场景
    确认触发报错的请求是否包含大体积非文件表单参数(如超长文本字段、大量表单键值对)。如果是,需确保server.tomcat.max-http-form-post-size的取值足够覆盖这些参数的总大小。

内容的提问来源于stack exchange,提问作者Jayden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 03:27:27