Existe-t-il une taille de fichier maximale que Spring Boot puisse gérer dans un processus de téléchargement MultipartFile? Je sais que je peux définir maxFileSize dans la propriété comme multipart.maxFileSize=1Mb
.
Donc, comme cela, je peux autoriser le téléchargement d’un fichier volumineux, comme 50 Mo. L'application s'exécute sur le serveur Tomcat intégré à Spring Boot. Dois-je également configurer le serveur Tomcat? Ou la taille du fichier est-elle illimitée?
Pour ceux qui utilisent Spring Boot 2.0 (à partir de la version M1), les noms de propriété ont été modifiés en:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
Notez que le préfixe est spring.servlet
au lieu de spring.http
.
Pour une taille de fichier de téléchargement illimitée
Il semble que le réglage -1
Le fera pour une taille de fichier infinie.
Avant Spring Boot 2.0:
spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1
Après Spring Boot 2.0:
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1
Dans mon application.yml
fichier
spring:
servlet:
multipart:
max-file-size: 15MB
max-request-size: 15MB
Et si vous avez application.properties
fichier
spring.servlet.multipart.max-file-size = 15MB
spring.servlet.multipart.max-request-size = 15MB
Même vous pouvez définir la taille du fichier à l'infini
spring.servlet.multipart.max-file-size =-1
spring.servlet.multipart.max-request-size =-1
Réglage multipart.max-file-size=128MB
et multipart.max-request-size=128MB
fonctionne pour moi sans configuration supplémentaire.
Spring Boot contient Tomcat intégré, nous n’avons donc pas besoin de le configurer. Les propriétés MULTIPART dans les propriétés de l'application s'en chargeront.
Pour un serveur externe, la limite par défaut est 50MB
. On peut le voir en ouvrant 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>
Les propriétés MULTIPART ont été modifiées en fonction des versions.
Spring Boot 1.3.x et versions antérieures
multipart.max-file-size
multipart.max-request-size
Après Spring Boot 1.3.x:
spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1
Après Spring Boot 2.0:
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1