J'utilise le démarrage de printemps pour mon application Web et j'essaie de configurer le maxuploadsize de Ring Spring CommonMultiParTresolver. Actuellement, il semble être limité par une taille par défaut de 1 Mo (?) De 1 Mo. Le téléchargement est effectué via une interface de repos et la signature de la méthode ressemble à ceci: Chaque fois que j'essaie de télécharger un fichier plus grand, une fichierszelimitexceedException est lancée: P> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>myapp.server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>17.0</version>
</dependency>
<dependency>
<groupId>org.ini4j</groupId>
<artifactId>ini4j</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
</dependencies>
<properties>
<start-class>myapp.server.Application</start-class>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<finalName>${artifactId}</finalName>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>http://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>http://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
</project>
4 Réponses :
Vous faites le chemin de complexe.
Ajouter Ceci est expliqué dans la section sur les téléchargements de fichier dans le Guide de référence de démarrage de ressort < / a>. P> pour toutes les propriétés Vérifiez le Le Spring.http.multipar.maxfilesize Code> à votre
Application.properties CODE> Fichier et bien c'est. Pas besoin d'utiliser XML ou de définir explicitement un
multipartresolver code>. P>
multipartProperties code>
classe. Les autres propriétés prises en charge sont spring.http.multipar.location code>,
printemps.http.multipar.maxrequestsize code> et
printemps.http.multipart.fileSizethreshold code>. P>
ClassNotFoundException code> est dû au fait que le démarrage du ressort utilise la prise en charge par défaut de servlet 3.0 pour les téléchargements de fichier non des biens-filedupload. Donc, si vous voulez utiliser cela, vous devriez expliquer explicitement la dépendance. Et bien sûr le
printemps.http.multipart. * Code> Les propriétés ne fonctionnent plus dans ce cas. P> p>
Merci d'avoir souligné les documents respectifs, je devais l'avoir manqué :( depuis que j'ai déjà une classe de configuration avec des annotations et je préfère avoir toutes les configuration dans un endroit, je configure maintenant la taille de fichier Comme ça et définir la taille du fichier sur multipartProperties code>.
Pour une raison quelconque, "MB" jette une exception mais "MB" fonctionne ~
500MB CODE> fonctionne bien pour moi lors de la dernière chaussure à ressort (1.2.7). (Serait toujours bien si le guide de référence avait des mêmes valeurs.)
Sauveur en 2016 :) bonne et propre réponse propre.
La réponse est correcte mais peut-être que cela devrait être mis à jour car à partir de Spring boot 1.4 m3 b> La propriété a été modifiée en Spring.http.multipart.max-File-Taille Code>
Je peux confirmer MB code> provoque une exception et
MB code> fonctionne comme prévu.
Le MB code> vs
mb code> "code> multiart de démarrage de printemps. * Code> config est une peste de la mine - pourquoi ils ont décidé de confondre les gens avec le < Code> MB code> L'étiquette est au-delà de moi ( par exemple i> dans la documentation, etc.). Après tout, nous parlons de mégaoctets i> (
MB code>) non megabits i> (
MB code>).
@Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setMaxFileSize("5120MB"); factory.setMaxRequestSize("5120MB"); return factory.createMultipartConfig(); } Try adding this in the class where you are defining beans.
L'ajout de toutes les variantes possibles de la configuration basée sur YML ne fonctionnait pas pour moi. Cela a fait. Merci les gars.
Heureux de savoir ça.
avec Spring-Boot 1.5.3 Vous devez utiliser le code suivant dans application.yml
Pour Spring Boot 2.0+ Utiliser Spring.Servlet au lieu de Spring.HTTP
spring.servlet.multipart.max-file-size=30MB spring.servlet.multipart.max-request-size=30MB
Et avez-vous essayé de définir la propriété
multipart.maxfilesize code> à l'intérieur d'un fichier
application.properties code> fichier? Comme indiqué par le Guide de référence de démarrage à ressort dans la section de téléchargement de fichier? Pas besoin de définir le vôtre.