web-dev-qa-db-ja.com

スプリングブートでのMultipartFileの最大制限

MultipartFileアップロードプロセスでスプリングブートが処理できる最大ファイルサイズはありますか。 multipart.maxFileSize=1MbのようなプロパティでmaxFileSizeを設定できることを知っています。

したがって、そのように、50MBなどの巨大なファイルをアップロードできます。アプリケーションは、スプリングブートと統合されたTomcatサーバーで実行されます。 Tomcatサーバーも構成する必要がありますか。または、ファイルサイズに制限はありませんか?

35
Ravindu

Spring Boot 2.0(M1リリース時点)を使用している場合、プロパティ名は次のように変更されています。

spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

接頭辞はspring.servlet の代わりに spring.http

59
A. Thom

無制限のアップロードファイルサイズの場合

設定-1は、無限のファイルサイズに対応します。

Spring Boot 2.0の前:

spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1

Spring Boot 2.0以降:

spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1
25
Amol

application.ymlファイル内

spring:
 servlet:
    multipart:
      max-file-size: 15MB
      max-request-size: 15MB

application.propertiesファイルがある場合

spring.servlet.multipart.max-file-size = 15MB
spring.servlet.multipart.max-request-size = 15MB

でもファイルサイズを無限に設定できます

spring.servlet.multipart.max-file-size =-1
spring.servlet.multipart.max-request-size =-1
4
Deva

設定multipart.max-file-size=128MBおよびmultipart.max-request-size=128MBは追加設定なしで機能します。

2
mbaranauskas

Spring BootにはTomcatが組み込まれているため、設定する必要はありません。 application-propertiesのMULTIPARTプロパティがそれを処理します。

外部サーバーの場合、デフォルトの制限は50MBです。 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>

MULTIPARTプロパティはバージョンに応じて変更されています。

Spring Boot 1.3.x以前

multipart.max-file-size
multipart.max-request-size

Spring Boot 1.3.xの後:

spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1

Spring Boot 2.0以降:

spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1 
0
Patel Romil