一、起因:系统页面上传一个文件超过日志提示的文件最大100M的限制,需要更改配置文件
二、经过:
1、在本地代码中找到配置文件,修改相应数值后交给运维更新生产环境配置,但是运维说生产环境没有这行配置,遂硬着头皮让运维加上配置重启服务,调试发现配置仍未奏效
# 文件上传限制
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=1000MB
2、百度配置为什么不生效,以为需要再加一项配置,且把两个限制文件大小的值改为“-1”,表示不限制上传大小,配置后再次重启服务,调试发现配置仍未奏效
#配置文件传输
spring.servlet.multipart.enabled=true
spring.servlet.multipart.file-size-threshold=0
# 文件上传限制
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1
参考文章:spring boot 2 上传文件大小限制的配置不生效解决方式
3、期间还以为是配置名称写错了
# 文件上传限制
#spring.servlet.multipart.maxFileSize=
spring.servlet.multipart.max-file-size=
#spring.servlet.multipart.maxRequestSize=
spring.servlet.multipart.max-request-size=
其实两种命名都可以的,他最终都会指向包里面的同一行对象,见下图
进入到这个java文件后发现有点不对经的地方,他默认单个文件上传最大是1M
又联系之前运维说生产环境的配置文件里面没有该行配置,而实际调试过程中最大上传限制是102400,发现关键点,先是代码里面搜,找到相应代码
又百度了一下进行验证,果然是这里的配置生效了,遂修改大小,生产调试后成功
参考链接:spring.servlet.multipart配置不生效问题 - 知乎