自分用メモ
こう書いてはまった
@helper.form(action = routes.Uploader.upload, 'enctype -> "multipart/form-data"){
<input type="file" name="file">
@helper.CSRF.formField
}
これはOK
@helper.form(action = routes.Uploader.upload, 'enctype -> "multipart/form-data"){
@helper.CSRF.formField
<input type="file" name="file">
}
何故?
Playはリクエストを読み込むときの最初のバッファ(ディフォルト:100KB)にCSRFトークンがないと安全なリクエストと認識しないらしい
前者のコードのようにファイルデータの後ろに@helper.CSRF.formFieldを付けると、
きちんとトークンを送信しているにもかかわらずInvalid CSRF token found in formのようなエラーが出る