Spring Boot:The field file exceeds its maximum permitted size of 1048576 bytes.

前言

最近需求方提出文件除了图片还可以上传视频,我心里美滋滋,因为之前开发的时候我就提过了拓展文件类型的上传服务,所以支持视频上传是木的问题,但是前端小朋友上传视频说服务器返回了存储失败信息,查看了系统日志,果然服务异常了,仔细排查了一下原来是Springboot 默认上传文件大小限制了,千算万算没想到这块,算是长记性了。

问题出现的原因

Spring boot 内置的Tomcat默认支持单个文件最大1Mb,单次请求文件最大10Mb,超出限制就会报下面的错误:

org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field pic exceeds its maximum permitted size of 10485760 bytes.
解决问题

问题找见了那不就很好解决了吗,如果这么想你就年轻了,运气不好你会发现即使配置了也不好使,问题出现在哪里呢,那是因为Springboot不同的版本对应的配置是不同的,网上大部分给出的都是2.0之后的版本配置,所以如果你使用的是Spring boot 2.0之前的版本的话恭喜中奖了,配置是不会生效的。

Spring boot 1.3.x版本

application.properties配置以下内容

# 单个文件大小
multipart.maxFileSize=10MB
# 单个上传请求中所有文件总大小的限制
multipart.maxRequestSize=10MB
Spring boot 1.4.x 和 1.5.x

application.properties配置以下内容

# 单个文件大小
spring.http.multipart.maxFileSize=10MB
# 单个上传请求中所有文件总大小的限制
spring.http.multipart.maxRequestSize=10MB
Spring boot 2.0.x

application.properties配置以下内容

# 单个文件大小
spring.servlet.multipart.maxFileSize=10MB
# 单个上传请求中所有文件总大小的限制
spring.servlet.multipart.maxRequestSize=10MB

需要注意,如果单次请求的文件过大一定要将maxRequestSize 调整的大些,否则还是会出现上传失败的问题。

参考

Spring boot Document

How to set the max size of upload file

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值