Spring Boot ファイルアップロードの最大サイズを変更する

GAEで開発中のアプリケーションでファイルアップロードするとエラー発生。

ログを見ると、

java.lang.IllegalStateException: Multipart Mime part file exceeds max filesize

Caused by: java.lang.IllegalStateException: Multipart Mime part file exceeds max filesize
	at org.eclipse.jetty.util.MultiPartInputStreamParser$MultiPart.write(MultiPartInputStreamParser.java:133) ~[na:na]
	at org.eclipse.jetty.util.MultiPartInputStreamParser.parse(MultiPartInputStreamParser.java:741) ~[na:na]
	at org.eclipse.jetty.util.MultiPartInputStreamParser.getParts(MultiPartInputStreamParser.java:434) ~[na:na]
	at org.eclipse.jetty.server.Request.getParts(Request.java:2335) ~[na:na]
	at org.eclipse.jetty.server.Request.extractMultipartParameters(Request.java:537) ~[na:na]
	at org.eclipse.jetty.server.Request.extractContentParameters(Request.java:459) ~[na:na]
	at org.eclipse.jetty.server.Request.getParameters(Request.java:368) ~[na:na]

https://stackoverflow.com/questions/36386462/multipart-file-exceed-limit-exception

MultipartPropertiesのjavadoc

location specifies the directory where uploaded files willbe stored. When not specified, a temporary directory will be used.
max-file-size specifies the maximum size permitted foruploaded files. The default is 1MB
max-request-size specifies the maximum size allowed for multipart/form-data requests. The default is 10MB.
file-size-threshold specifies the size threshold after which files will be written to disk. The default is 0.

アップロードファイルのディレクトリが指定されない場合、テンポラリディレクトリが利用される

maz-file-size は許容される最大ファイルサイズを指定する、デフォルトでは1MB

maz-request-sizeはマルチパート/フォームによるリクエストで許容される最大サイズを指定する。デフォルトでは10MB

file-size-threshold は、ディスクに書き込まれるまでの閾値を指定する、デフォルトでは 0

@ConfigurationProperties(prefix = "spring.servlet.multipart", ignoreUnknownFields = false)
public class MultipartProperties {
  :
}

application.properties

に以下を追記

spring.servlet.multipart.max-file-size: 20Mb
spring.servlet.multipart.max-request-size: 100Mb

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です