Play framework 2.0-ファイルアップロード
1472 ワード
#ファイルアップロードの処理
1.フォームにmultipart/form-dataでファイルをアップロードします.
Webアプリケーションで標準的なファイルアップロード方法は、標準フォームデータとファイル添付ファイルを混合して使用できる特殊な「multipart/form-data符号化」をフォームに使用します.
例:
アップロードアクションを定義します.
2.ファイルを直接アップロードする
もう1つのサーバにファイルを送信する方法は、Ajaxを使用してフォームからファイルを非同期でアップロードすることです.この場合、要求体は「multipart/form-data」で符号化されず、通常のファイル内容のみが含まれます.
1.フォームにmultipart/form-dataでファイルをアップロードします.
Webアプリケーションで標準的なファイルアップロード方法は、標準フォームデータとファイル添付ファイルを混合して使用できる特殊な「multipart/form-data符号化」をフォームに使用します.
例:
@form(action = routes.Application.upload, 'enctype -> "multipart/form-data") {
<input type="file" name="picture">
<p>
<input type="submit">
</p>
}
アップロードアクションを定義します.
public static Result upload() {
MultipartFormData body = request().body().asMultipartFormData();
FilePart picture = body.getFile("picture");
if (picture != null) {
String fileName = picture.getFilename();
String contentType = picture.getContentType();
File file = picture.getFile();
return ok("File uploaded");
} else {
flash("error", "Missing file");
return redirect(routes.Application.index());
}
}
2.ファイルを直接アップロードする
もう1つのサーバにファイルを送信する方法は、Ajaxを使用してフォームからファイルを非同期でアップロードすることです.この場合、要求体は「multipart/form-data」で符号化されず、通常のファイル内容のみが含まれます.
public static Result upload() {
File file = request().body().asRaw().asFile();
return ok("File uploaded");
}