Max limit of MultipartFile in Spring Boot
JavaSpringSpring BootTomcatFile UploadJava Problem Overview
Is there a maximum file size that spring boot can handle in a MultipartFile
upload process. I know that I can set the maxFileSize
in the property like multipart.maxFileSize=1Mb
.
So, like that can I allow a huge file to upload, like 50MB. The application runs on the Tomcat server integrated with Spring Boot. Do I need to configure the tomcat server also? Or is the file size unlimited?
Java Solutions
Solution 1 - Java
For those using Spring Boot 2.0 (as of M1 release), the property names have changed to:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
Note the prefix is spring.servlet
instead of spring.http
.
Solution 2 - Java
For unlimited upload file size
It seems setting -1
will make it for infinite file size.
Before Spring Boot 2.0:
spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1
After Spring Boot 2.0:
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1
Solution 3 - Java
In my application.yml
file
spring:
servlet:
multipart:
max-file-size: 15MB
max-request-size: 15MB
And If you have application.properties
file
spring.servlet.multipart.max-file-size = 15MB
spring.servlet.multipart.max-request-size = 15MB
Even You can set file size to infinite
spring.servlet.multipart.max-file-size =-1
spring.servlet.multipart.max-request-size =-1
Solution 4 - Java
Spring Boot have embbeed Tomcat with it so we don't need to configure it. MULTIPART properties in application-properties will take care of it.
For an external server, the default limit is 50MB
. We can see it by opening webapps/manager/WEB-INF/web.xml
<multipart-config>
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
MULTIPART properties have been changed according to versions.
Spring Boot 1.3.x and earlier
multipart.max-file-size
multipart.max-request-size
After Spring Boot 1.3.x:
spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1
After Spring Boot 2.0:
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1
Solution 5 - Java
Setting multipart.max-file-size=128MB
and multipart.max-request-size=128MB
works for me without additional configuration.
Solution 6 - Java
I am still looking for the answer, What is maximum size we can upload with multiPartFile in springboot application but i have used 450mb successfully and it took approx 10min to do that. Below is the only configuration i did in application.properties file to make it work :
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB