web-dev-qa-db-fra.com

Limite maximale de MultipartFile dans une botte de printemps

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?

35
Ravindu

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.

59
A. Thom

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
25
Amol

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
4
Deva

Réglage multipart.max-file-size=128MB et multipart.max-request-size=128MB fonctionne pour moi sans configuration supplémentaire.

2
mbaranauskas

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 
0
Patel Romil