web-dev-qa-db-fra.com

J'essaie de définir maxFileSize mais ce n'est pas honoré

Je développe une application utilisant JHipster. J'ai ajouté ce qui suit à mon fichier application-dev.yml:

spring:

    profiles:
        active: dev

    multipart:
        maxFileSize: -1

Mais je reçois toujours une erreur lorsque j'essaie de télécharger un fichier> 1 Mo:

Caused by: org.Apache.Tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (20663006) exceeds the configured maximum (10485760)

Qu'est-ce que je rate? Il semble que cela devrait être assez simple.

mise à jour 1

Je l'ai imbriqué dans spring config comme suggéré par Andy, mais j'ai quand même eu l'erreur. Fichier yml mis à jour:

server:
    port: 8080

multipart:
        maxFileSize: -1

spring:

    profiles:
        active: dev

    datasource: ...

mise à jour 2

Ran dans ce problème à nouveau sur la nouvelle version de Sprint Boot et a dû changer pour cela:

spring:
    http:
        multipart:
            max-file-size: 30MB
            max-request-size: 30MB
34
Jose Gulisano

En plus de configurer la taille de fichier maximale, vous devrez peut-être également configurer la taille de demande maximale si vous avez un seul fichier supérieur à 10 Mo ou si vous souhaitez télécharger plusieurs fichiers dans la même demande avec des tailles totalisant plus de 10 Mo.

Les propriétés exactes qui doivent être utilisées dépendent de la version de Spring Boot que vous utilisez car elles modifiées dans 1.4 :

Spring Boot 1.3.x et versions antérieures

  • multipart.maxFileSize
  • multipart.maxRequestSize

Spring Boot 1.4.x et 1.5.x

  • spring.http.multipart.maxFileSize
  • spring.http.multipart.maxRequestSize

Spring Boot 2.x

  • spring.servlet.multipart.maxFileSize
  • spring.servlet.multipart.maxRequestSize
94
Andy Wilkinson

pour Spring-boot 2.x, fichier: src/main/resources/application.yaml

spring:
  servlet:
    multipart:
      max-file-size: -1
      max-request-size: -1
4
Maksim Kostromin

Comme Emilio Garcia l'a mentionné, il doit être placé sous spring.http.multipart et non multipart seul. J'ai récemment mis à niveau un projet de Spring Boot 1.3.5 vers 1.4.1 et suis tombé sur le problème que multipart.maxFileSize n'est plus honoré .. il semble avoir changé.

3
edgraaff

Comme indiqué ici , vous devez utiliser ces propriétés:

spring.http.multipart.max-file-size=128KB
spring.http.multipart.max-request-size=128KB
1
Emilio Garcia

La taille de fichier par défaut de Grails 3 est 128000.

Si vous souhaitez augmenter la taille, accédez à application.yml de votre projet, car je souhaite augmenter la taille à 25 mégaoctets. la taille du fichier est définie en octets, comme nous le voyons ci-dessus, la taille maximale est de 128000 octets. donc je dois convertir 25 Mo en octets.

25 Mo * 1024 Ko * 1024 B = 26,214,400 octets

Maintenant goo /grails-app/conf/application.yml

et notez ces lignes correctement

grails: contrôleurs: téléchargement: maxFileSize: 26214400 maxRequestSize: 26214400

Maintenant, nettoyez l'application et exécutez à nouveau, cela fera des merveilles. Merci

0
Aadil Musavir

L'ajout ci-dessous à la configuration a fonctionné pour moi:

ribbon:
  ReadTimeout: 20000
  ConnectTimeout: 20000

Délai de lecture sur demande

0
user2569050