【上传文件时异常】The field file exceeds its maximum permitted size of 1048576 bytes.
1、背景描述
本项目是个spring boot 项目,需要文件上传,上传的是一个 pdf文件,大小是5MB,报错内容如下:
Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
2、报错原因
显示文件的大小超出了允许的范围。原因是 SpringBoot内嵌的 tomcat 默认的所有上传的文件大小为 1MB,超出这个大小就会报错,解决这个问题需要更改以下两个默认:
# 最大上传单个文件大小:默认1M
spring.servlet.multipart.max-file-size=10MB
# 最大总上传的文件大小 :默认10M
spring.servlet.multipart.max-request-size=100MB
3、解决方案
不同的spring 版本有不同的方法:
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
参考:https://blog.csdn.net/weixin_44299027/article/details/126074192