application.conf ファイルで attachments.path プロパティを指定しようとしましたが、効果がありませんでした。
play 2.0.1 のドキュメントでは、アップロードされたファイルのディレクトリを変更する方法を説明しているものは見つかりませんでした。
何か不足していますか?
application.conf ファイルで attachments.path プロパティを指定しようとしましたが、効果がありませんでした。
play 2.0.1 のドキュメントでは、アップロードされたファイルのディレクトリを変更する方法を説明しているものは見つかりませんでした。
何か不足していますか?
そのような変数はありませapplication.conf
んが、簡単に追加してメソッドで使用できます。好きなように呼び出します。
の改行application.conf
:
myUploadPath = "/home/your-account/some/custom/upload/folder/"
ドキュメントのサンプルによると:
public static Result upload() {
MultipartFormData body = request().body().asMultipartFormData();
MultipartFormData.FilePart picture = body.getFile("picture");
if (picture != null) {
String fileName = picture.getFilename();
String contentType = picture.getContentType();
File file = picture.getFile();
// added lines
String myUploadPath = Play.application().configuration().getString("myUploadPath");
file.renameTo(new File(myUploadPath, fileName));
return ok("file saved as " + myUploadPath + fileName);
} else {
flash("error", "Missing file");
return redirect(routes.Application.uploadform());
}
}
このアプローチを使用するfilename clash
と、名前を変更する前にチェックを実行して、ランダムな上書きを防ぐことができます。