25

Play フレームワーク 2.0で大きなファイル (1 MB を超える) をアップロードすると、

「413 リクエスト エンティティが大きすぎます」エラー。

これを取り除く方法を誰か提案してください。

ありがとう、

更新 これをapplication.confに追加することで、この問題を解決しました

#最大ファイルサイズを設定

parsers.MultipartFormData.maxLength=10240K

4

5 に答える 5

18

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

于 2012-07-06T08:09:20.717 に答える
17

parse.multipartFormDataまた、デフォルトのように増減させる引数として使用parse.temporaryFileしないでください。maxLengthparse.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 */
            ...
        }
    }
}
于 2013-07-31T12:51:15.057 に答える
11

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

于 2015-11-12T10:33:27.243 に答える
5

私の場合、AJAX リクエストでエラーが発生しました (長いテキストでした)。このようなリクエストの場合、次のプロパティを設定できます。

parsers.text.maxLength=1024K

Play ドキュメントの詳細: https://www.playframework.com/documentation/2.0/JavaBodyParsers

于 2014-09-19T11:51:31.127 に答える