私のサーバー側のコードは次のとおりです(テストのためだけに):
def upload = Action(parse.maxLength(maxLength = 10*1024, parser.multipartFormData)) {
implicit request =>
Logger.info("data: " + request.body.dataParts)
Logger.info("file: " + request.body.file("picture"))
Logger.info("req: " + request.contentType)
Logger.info("req body: " + request.body)
Ok("File has been uploaded")
}
クライアント側のコードは、ファイル タイプの入力を持つ単純なフォームです。
@helper.form(action = routes.Application.upload, 'enctype -> "multipart/form-data") {
<p>
<input type="text" name="name" />
</p>
<p>
<input id="imageFile" type="file" name="picture" accept="image/*" />
</p>
<p>
<input type="submit" value="Save" />
</p>
}
問題は、10KB を超えるファイルをアップロードしようとすると、サーバーが要求の処理を完了したように見えても、サーバーが完了するのを待ってブラウザーがハングすることです。それを解決する方法は?