Play フレームワーク 2.0で大きなファイル (1 MB を超える) をアップロードすると、
「413 リクエスト エンティティが大きすぎます」エラー。
これを取り除く方法を誰か提案してください。
ありがとう、
更新 これをapplication.confに追加することで、この問題を解決しました
#最大ファイルサイズを設定parsers.MultipartFormData.maxLength=10240K
Play フレームワーク 2.0で大きなファイル (1 MB を超える) をアップロードすると、
「413 リクエスト エンティティが大きすぎます」エラー。
これを取り除く方法を誰か提案してください。
ありがとう、
更新 これをapplication.confに追加することで、この問題を解決しました
#最大ファイルサイズを設定parsers.MultipartFormData.maxLength=10240K
http://www.playframework.com/documentation/2.0.x/ScalaBodyParsersを参照してください
またはJavaバージョン:http ://www.playframework.com/documentation/2.0.x/JavaBodyParsers
エキス:
// Accept only 10KB of data.
def save = Action(parse.text(maxLength = 1024 * 10)) { request =>
Ok("Got: " + text)
}
application.conf
そして、を使用してこれを構成できますparsers.text.maxLength
。
parse.multipartFormData
また、デフォルトのように増減させる引数として使用parse.temporaryFile
しないでください。maxLength
parse.text(maxLength)
parse.maxLength(maxLength, wrappedBodyParser)
ただし、代わりに使用できます。
// accepts 10 MB file upload
def save = Action(parse.maxLength(10 * 1024 * 1024, parse.multipartFormData)) { request =>
request.body match {
case Left(MaxSizeExceeded(length)) => BadRequest("Your file is too large, we accept just " + length + " bytes!")
case Right(multipartForm) => {
/* Handle the POSTed form with files */
...
}
}
}
Play バージョン 2.4.x の場合:
raw パーサーや multipart/form-data など、コンテンツをディスクにバッファリングするパーサーの場合、コンテンツの最大長はplay.http.parser.maxDiskBufferプロパティを使用して指定され、デフォルトは 10MB です。multipart/form-data パーサーは、データ フィールドの集合に対してテキストの最大長プロパティも適用します。
https://www.playframework.com/documentation/2.4.x/ScalaBodyParsers
私の場合、AJAX リクエストでエラーが発生しました (長いテキストでした)。このようなリクエストの場合、次のプロパティを設定できます。
parsers.text.maxLength=1024K
Play ドキュメントの詳細: https://www.playframework.com/documentation/2.0/JavaBodyParsers