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

Grails 3大文件上传触发SizeLimitExceededException问题求助

解决Grails大文件上传SizeLimitExceededException问题

我之前在Grails项目里上传大文件时也踩过一模一样的坑!这个错误本质是请求体大小超过了Tomcat + Grails的双重限制,你之前的配置可能只覆盖了其中一边,或者配置的位置不对。下面分版本和场景给你梳理完整的解决方案:

一、先明确错误根源

Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (3553808) exceeds the configured maximum (128000)

这个报错说明当前请求的大小(约3.4MB)超过了Tomcat或Grails设置的128KB上限,需要同时调整两端的配置。

二、Grails 3.x/4.x/5.x 版本配置

修改项目根目录下的 application.yml,添加/调整以下配置:

# Grails 自身的上传大小限制
grails:
  web:
    maxUploadSize: 10485760 # 这里设置为10MB,单位是字节,按需调整

# Spring Multipart 配置(必须同步设置)
spring:
  servlet:
    multipart:
      max-file-size: 10MB # 单个文件最大大小
      max-request-size: 10MB # 整个请求体的最大大小

# 内嵌Tomcat的关键配置,避免请求被截断
server:
  tomcat:
    max-swallow-size: -1 # 设置为-1表示不限制Tomcat吞入的请求大小
    connection-timeout: 60000 # 可选,大文件上传需要更长的超时时间,这里设为60秒

三、Grails 2.x 版本配置

修改 Config.groovy:

// 启用multipart上传
grails.web.disable.multipart=false
// 设置Grails层面的最大上传大小(10MB)
grails.web.maxUploadSize = 10485760

如果使用内嵌Tomcat,还要在 BuildConfig.groovy 中添加Tomcat参数:

grails.tomcat.config = {
    maxPostSize = 10485760 // 设置Tomcat允许的最大POST请求大小
}

四、外部Tomcat部署场景

如果你的Grails项目部署在独立的Tomcat服务器上,还需要修改Tomcat的 conf/server.xml 文件,找到Connector节点添加maxPostSize参数:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           maxPostSize="10485760" /> <!-- 单位字节,10MB;Tomcat8.5+版本设为-1表示不限制 -->

注意:Tomcat 8.5之前的版本,maxPostSize=0表示不限制,8.5及以后版本用-1,别搞混了!

五、容易忽略的坑

  • 必须重启应用:所有配置修改后,一定要重启Grails应用或Tomcat,否则配置不会生效!
  • 反向代理限制:如果前端通过Nginx等反向代理访问,还要在Nginx配置中添加client_max_body_size:
    client_max_body_size 10M; # 和后端配置保持一致
    
  • 安全框架拦截:如果项目用了Spring Security等安全框架,检查有没有额外的请求大小限制配置。

按照上面的步骤逐一排查配置,应该就能解决大文件上传的限制问题了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:44:17