素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2019年10月31日
最終更新日:

【PlayFramework2.7系】HttpStatasu413の「Request Entity Too Large」が出た場合の原因と解決方法【play.http.parser.maxDiskBuffer】

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

Anker PowerCor

created by Rinker
Anker
¥4,990 (2024/03/15 15:06:44時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
GoPro(ゴープロ)
¥62,000 (2024/03/15 19:06:06時点 Amazon調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥29,280 (2024/03/15 19:06:01時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥2,600 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,080 (2024/03/15 19:03:47時点 Amazon調べ-詳細)

翼を授けよう!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,748 (2024/03/15 19:03:48時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

リクエスト容量の超過

PlayFrameworkを使ってファイルの送信フォームを作っている際に、特に設定を変えずに10MB以上のデータを送信するとHttpStatus413Request 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.confplay.http.parser.maxDiskBufferの値に上限値を指定する事で拡張する事が可能です。

例として、200MBにあげるには以下のように指定すればOKです。

終わりに

以上のように、PlayFrameworkの設定ファイルに一行追記するだけで対応する事が可能です。

複数画像をまとめてあげる機能を実現するにはほぼ必須の設定だと思うので、ぜひ試してみてください♪

CATEGORIES & TAGS

IT