web-dev-qa-db-ja.com

maxFileSizeを設定しようとしていますが、尊重されません

JHipsterを利用したアプリケーションを開発しています。 application-dev.ymlファイルに次を追加しました。

spring:

    profiles:
        active: dev

    multipart:
        maxFileSize: -1

しかし、1 MBを超えるファイルをアップロードしようとすると、まだエラーが発生します。

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

私は何が欠けていますか?これはかなり簡単なはずです。

更新1

Andyが提案したspring configからネストを解除しましたが、それでもエラーが発生しました。更新されたymlファイル:

server:
    port: 8080

multipart:
        maxFileSize: -1

spring:

    profiles:
        active: dev

    datasource: ...

更新2

スプリントブートの新しいバージョンでこの問題に再び遭遇し、これに変更する必要がありました。

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

最大ファイルサイズの構成に加えて、10MBを超える単一ファイルがある場合、または合計10MBを超えるサイズの同じ要求で複数のファイルをアップロードする場合は、最大要求サイズを構成する必要があります。

使用する必要がある正確なプロパティは、使用しているSpring Bootのバージョンによって異なります 1.4で変更されました

Spring Boot 1.3.xおよびそれ以前

  • multipart.maxFileSize
  • multipart.maxRequestSize

Spring Boot 1.4.xおよび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

spring-boot 2.xの場合、ファイル:src/main/resources/application.yaml

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

エミリオ・ガルシアが言及したように、それはmultipartだけではなくspring.http.multipartの下に置かれなければなりません。最近、プロジェクトをSpring Boot 1.3.5から1.4.1にアップグレードしましたが、multipart.maxFileSizeがもはや尊重されないという問題に遭遇しました。

3
edgraaff

here のように、これらのプロパティを使用する必要があります:

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

Grails 3のデフォルトのファイルサイズは128000です。

サイズを増やしたい場合は、プロジェクトのapplication.ymlに移動します。サイズを25メガバイトに増やしたいので。上記の最大サイズは128000バイトであるように、ファイルサイズはバイト単位で設定されます。だから私は25 mbをバイトに変換する必要があります。

25 mb * 1024 kb * 1024 b = 26.214.400バイト

Goo /grails-app/conf/application.yml

これらの行を適切に書き留めてください

杯:コントローラー:アップロード:maxFileSize:26214400 maxRequestSize:26214400

ここで、アプリケーションをクリーンアップして再度実行すると、驚くほど動作します。ありがとう

0
Aadil Musavir

構成に以下を追加するとうまくいきました:

ribbon:
  ReadTimeout: 20000
  ConnectTimeout: 20000

要求時の読み取りタイムアウト

0
user2569050