springboot文件上传配置

springboot文件上传配置

前言

小兄弟在做文件上传时,发现文件超过1M报错了。没加配置!
于是赶紧加上文件上传的配置,配置成下面

servlet:
    multipart:
      enabled: true
      max-request-size: 50MB
      max-file-size: 50MB

文件小于50M的时候,文件上传ok. 满心欢喜的下班走人。

问题

在某天文件上传刚刚好50M大小的文件时暴雷了,提示如下
the request was rejected because its size (52429346) exceeds the configured maximum (52428800)

分析

max-file-size 指定上传文件允许的最大大小。 默认值为1MB
max-request-size 指定multipart/form-data请求允许的最大大小。 默认值为10MB。

文件确实为50M,没有超过限制,怎么还提示报错呢?
提示请求大小超过限制,一看报错的上传请求中包含了一些业务参数,不仅仅是文件。
于是看了一眼现有配置,发现问题。文件大小50M+业务参数,大于了max-request-size配置的大小,导致报错。
当2个配置大小一样时,就出现问题了。

原来是想着最大支持50M的文件上传,但是极有可能有些上传请求会附加额外的业务参数,这样就容易导致请求大小超过了设置的大小。

小兄弟图省事,一顿复制。没有细看配置的含义,导致问题。

修改

max-request-size 配置大小时要比max-file-size大,多出来的空间就可以传递参数。

spring:
  servlet:
    multipart:
      max-file-size: 50MB #上传文件大小上限50MB
      max-request-size: 55MB 

上传文件大小限制为50M,单次请求限制大小为55M。
这下OK了。文件大小还是限制为50M,预留了5M的额外业务参数空间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值