投稿日:
2019年10月31日
最終更新日:
【PlayFramework2.7系】HttpStatasu413の「Request Entity Too Large」が出た場合の原因と解決方法【play.http.parser.maxDiskBuffer】
YouTubeも見てね♪
ねこじゃすり
猫を魅了する魔法の装備品!
Anker PowerCor
旅行には必須の大容量モバイルバッテリー!
【最新機種】GoPro hero11 Black
最新機種でVlogの思い出を撮影しよう!
[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット
防水暴風で耐久性抜群なので旅行で大活躍です!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
リクエスト容量の超過
PlayFrameworkを使ってファイルの送信フォームを作っている際に、特に設定を変えずに10MB以上のデータを送信するとHttpStatus413
のRequest Entity Too Large
のようなエラーが出力されます。
これは、PlayFrameworkのデフォルトの設定値である10MB
を超えるデータ量になっている事が原因です。
For parsers that buffer content on disk, such as the raw parser or multipart/form-data, the maximum content length is specified using the play.http.parser.maxDiskBuffer property, it defaults to 10MB. The multipart/form-data parser also enforces the text max length property for the aggregate of the data fields.Scala Body Parsers – 2.7.x
解決方法
play.http.parser.maxDiskBufferを変更
上限値を広げるには、conf/application.conf
のplay.http.parser.maxDiskBuffer
の値に上限値を指定する事で拡張する事が可能です。
例として、200MB
にあげるには以下のように指定すればOKです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
...
(略)
...
play {
http {
parser{
maxDiskBuffer=200MB
}
}
}
...
(略)
...
|
終わりに
以上のように、PlayFrameworkの設定ファイルに一行追記するだけで対応する事が可能です。
複数画像をまとめてあげる機能を実現するにはほぼ必須の設定だと思うので、ぜひ試してみてください♪