私のアプリケーションでは、非常に大きなファイル(最大4GB)をアップロードする必要があります。私はfile
フォームフィールドを使用してそれを行い、さらなる処理のために一時的な場所にファイルを保存します。それは私がEntityStreamExceptionを取得し、コンテンツサイズの制限を超えるファイルに来るときしかし:Play 2.6 EntityStreamSizeException例外
play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[EntityStreamSizeException: EntityStreamSizeException: actual entity size (Some(781434380)) exceeded content length limit (8388608 bytes)! You can configure this by setting `akka.http.[server|client].parsing.max-content-length` or calling `HttpEntity.withSizeLimit` before materializing the dataBytes stream.]]
を私は両方アッカを設定しようとしました* [クライアント|サーバー]私のapplication.confで限界以下のように。。:
akka.http.server.parsing.max-content-length = 4096MB
akka.http.client.parsing.max-content-length = 4096MB
でも、同じメッセージでクラッシュします。 私もドキュメントを追跡しようとしましたが、設定したプレイの設定:
play.http.parser.maxMemoryBuffer=512k
play.http.parser.maxDiskBuffer=4096MB
それがここで提案されるよう:私が試した最後のものは、明示的に私のポストでの設定を無効にすることでしたhttps://www.playframework.com/documentation/2.6.x/ScalaBodyParsers
ハンドラー:
def doCreate = checkToken {
Action(parse.maxLength(400000000, parse.multipartFormData)) { implicit request =>
...
}
何も動作していないようです。誰かが私が間違っていることを教えてもらえますか?
更新:再生/ akkaコードといくつかのデバッグに潜んでいると、私はakka関連の設定が完全に無視されていることがわかります。私は、play.http.parser設定がコンテキストに伝播され、使用されているのを見ますが、akka設定は適用されず、maxContentLengthはデフォルト値の8MBに設定されたままです。しかし、この文書によれば、https://www.playframework.com/documentation/2.6.x/SettingsAkkaHttp が適用されます。次に何をすべきかわからない。どんな助けでも本当に感謝します。