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

SpringBoot中如何限制Multipart上传的单个文件大小

SpringBoot中如何限制Multipart上传的单个文件大小

嗨,我来帮你捋清楚这个问题!你遇到的情况大概率是配置缩进不正确导致的——Spring Boot的YAML配置对缩进要求很严格,你给出的配置没有正确嵌套,所以max-file-size的设置根本没生效,才会出现只验证总文件大小的情况。

先给你一个正确的YAML配置格式:

spring:
  servlet:
    multipart:
      enabled: true
      max-file-size: 20MB
      max-request-size: 20MB

这里我再明确一下这几个参数的作用,避免你混淆:

  • max-file-size:这就是用来限制单个上传文件的最大大小的,你设置20MB的话,任何单个文件超过这个值都会被拦截
  • max-request-size:这个是限制整个请求的总大小(比如一次上传多个文件时,所有文件的大小总和不能超过这个值)
  • enabled: true:确保Multipart文件上传功能是开启的

如果你的项目用的是.properties格式的配置,对应的写法是:

spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.max-request-size=20MB

要是配置改对了还是有问题,你可以检查一下有没有自定义的MultipartResolver Bean——如果有的话,它可能会覆盖默认的配置,这时候你需要在自定义Resolver里手动设置单个文件的大小限制。

举个简单的例子帮你理解:假设你一次上传两个15MB的文件,max-file-size=20MB会允许这次上传(因为每个文件都没超20MB),但如果max-request-size=20MB就会拒绝(总大小30MB超过了限制),这样你就能清晰区分两者的作用啦。

备注:内容来源于stack exchange,提问作者Queen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 08:08:09