简介:大家好,我是程序员枫哥,🌟一线互联网的IT民工、📝资深面试官、🌹Java跳槽网创始人。拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。在上海有自己小伙伴组建的副业团队,目前业余时间专注Java技术分享,春招/秋招/社招/跳槽,一对一学习辅助,项目接活开发。
🌈更多学习内容, 欢迎👏关注👀【文末】微信公众号:IT枫斗者
🌟🌟程序员找工作,就上Java跳槽网:www.javatiaocao.com
【异常】The field file exceeds its maximum permitted size of 1048576 bytes.
背景描述
- 本项目是个Springboot 项目,功能是要做一个文件上传,在测试时发现报错,上传的是一个 word 文件,大小是 1.25MB,报错内容如下:
- Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
- 详细报错内容如下图所示:
错误原因
-
SpringBoot 项目在文件上传时出现了 Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes. 的错误,显示文件的大小超出了允许的范围。原因是 SpringBoot内嵌的 tomcat 默认的所有上传的文件大小为 1MB,超出这个大小就会报错,解决这个问题需要更改以下两个默认
-
multipart.maxFileSize multipart.maxRequestSize
解决方案
-
解决方案呢,要根据SpringBoot的版本来确定,以下列举出了几种情况,可以根据自己项目的SpringBoot版本来对应:把默认的文件的大小限制修改一下即可。以下是我项目中的用到的文件大小限制,改成50MB即可满足我的需求了。
-
SpringBoot 1.3.x 之前
-
multipart.maxFileSize=50Mb multipart.maxRequestSize=50Mb
-
SpringBoot 1.4.x
-
spring.http.multipart.maxFileSize=50Mb spring.http.multipart.maxRequestSize=50Mb
-
SpringBoot 2.0.x之后
-
spring.servlet.multipart.max-file-size=50MB spring.servlet.multipart.max-request-size=50MB
-
配置完上述限制之后,重启项目,Bingo,搞定!!!