文件上传超出默认大小:the request was rejected because its size (341644806) exceeds the configured maximum
org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (341644806) exceeds the configured maximum (10485760)
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.init(FileItemIteratorImpl.java:161) ~[tomcat-embed-core-9.0.68.jar:9.0.68]
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.getMultiPartStream(FileItemIteratorImpl.java:205) ~[tomcat-embed-core-9.0.68.jar:9.0.68]
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.findNextItem(FileItemIteratorImpl.java:224) ~[tomcat-embed-core-9.0.68.jar:9.0.68]
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.<init>(FileItemIteratorImpl.java:142) ~[tomcat-embed-core-9.0.68.jar:9.0.68]
at org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:252) ~[tomcat-embed-core-9.0.68.jar:9.0.68]
at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:276) ~[tomcat-embed-core-9.0.68.jar:9.0.68]
当设置Spring Boot应用程序中的文件上传大小时,我们需要关注两个主要方面:Tomcat服务器的配置和Spring的multipart
配置。
1. Tomcat服务器的配置
在application.yml
(或application.properties
)中,可以通过以下配置设置Tomcat服务器的最大HTTP FORM POST请求大小:
server:
port: 8888
tomcat:
max-http-form-post-size: 1000MB
这里的 max-http-form-post-size
属性用于设置最大的HTTP FORM POST请求大小,包括文件上传在内。
2. Spring的multipart
配置
另一方面,如果想要设置Spring的multipart
相关的上传文件大小,可以通过以下配置:
spring:
servlet:
multipart:
max-file-size: 1000MB
max-request-size: 20000MB
这里,max-file-size
用于设置单个文件的最大大小,而 max-request-size
用于设置总上传的文件大小。
请确保上述配置生效并满足你的需求。在应用程序启动时,检查控制台日志以确保配置被正确加载。
总结
文件上传大小的配置涉及到两个方面,一是Tomcat服务器的配置,二是Spring的multipart
配置。通过正确配置这两个方面,可以确保应用程序能够处理预期大小的文件上传请求。在调整配置时,务必注意单位(如MB)和配置项的正确性。