SpringBoot1.x和2.x请求及上传文件大小限制问题的解决

本文介绍了SpringBoot在1.x和2.x版本中处理文件上传时遇到的大小限制问题及其解决办法。在1.x版本中,最大文件大小默认限制为1MB,最大请求大小限制为10MB。通过修改`application.properties`配置文件,可以调整这些限制。而在升级到2.0后,之前的配置不再生效,需要更新配置。同时,文章提到如果使用Nginx,也需要相应调整Nginx的配置。作者还提供了交流学习的途径。
摘要由CSDN通过智能技术生成

注:SpringBoot1.x和2.x对上传文件大小的配置是不一样的。2.x的解决办法请看最后。


问题描述(SpringBoot1.x)

前两天写文件上传,接口写好后测试了一下,上传了一个大约15MB的文件,报错org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (16190292) exceeds the configured maximum (10485760)

于是研究了一下这个问题。找了一些资料。发现SpringBoot处理请求和文件上传时由于文件大小限制会报以下两个问题:

  • 1.请求超过10MB:
    org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (16190292) exceeds the configured maximum (10485760)
    注:10485760 = 10 * 1024 * 1024 = 10MB

  • 2.上传的文件超过1MB但请求总体大小未超过10MB:
    org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
    注:1048576 = 1 * 1024 * 1024 = 1MB。也就是说,即使请求总体大小小于10MB,而某个文件的大小超过1MB,依然会上传失败。

补充1:还有可能会出现服务端未报错但参数丢失的情况。也可能是请求体大小被限制的问题。
补充2:如果使用了Nginx做反向代理,那么也需要对Nginx进行配置,将请求和文件大小 限制放开。


问题来源–源码分析

分析的时候找到了SpringBoot的相关源码——Multipar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值