Spring boot 1.5.9升级2.3.5时上传文件大小限制失效问题的解决
最近进行spring boot 升级,将版本由 1.5.9 升级到 2.3.5,在1.5.9版本时设置的允许上传文件的大小限制为100M,然而升级到 2.3.5 后,上传文件报错。
Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field originalFile exceeds its maximum permitted size of 1048576 bytes.
at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl$1.raiseError(FileUploadBase.java:628) ~[tomcat-coyote.jar:8.5.31]
at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.checkLimit(LimitedInputStream.java:76) ~[tomcat-coyote.jar:8.5.31]
at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:135) ~[tomcat-coyote.jar:8.5.31]
at java.io.FilterInputStream.read(FilterInputStream.java:107) ~[?:1.8.0_171]
at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:98) ~[tomcat-coyote.jar:8.5.31]
at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:68) ~[tomcat-coyote.jar:8.5.31]
at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:293) ~[tomcat-coyote.jar:8.5.31]
at org.apache.catalina.connector.Request.parseParts(Request.java:2884) ~[catalina.jar:8.5.31]
at org.apache.catalina.connector.Request.getParts(Request.java:2793) ~[catalina.jar:8.5.31]
at org.apache.catalina.connector.RequestFacade.getParts(RequestFacade.java:1084) ~[catalina.jar:8.5.31]
at javax.servlet.http.HttpServletRequestWrapper.getParts(HttpServletRequestWrapper.java:347) ~[servlet-api.jar:?]
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:95) ~[spring-web-5.2.10.RELEASE.jar:5.2.10.RELEASE]
... 73 more
允许上传文件的大小变成了1M,也就是说之前的配置失效了。
原因是这两个版本的配置发生了变化,1.5.9版本下的配置为
spring:
http:
multipart:
maxFileSize: 100Mb
maxRequestSize: 100Mb
而 2.3.5 版本下的配置变更为:
spring:
servlet:
multipart:
enabled: true
maxFileSize: 100MB
maxRequestSize: 100MB