在Play中改变play.tmp!框架不会更改上传默认文件夹

时间:2014-03-21 17:13:37

标签: java upload playframework playframework-2.0

我正在尝试将默认文件夹更改为我上传的文件所在的位置。在我的 application.conf 中,我设置了 play.tmp = / my / desired / location / 但是当我上传文件时,它总是转到默认文件夹,根据玩!文档, / tmp /

我正在使用使用Scala 2.10.3(运行Java 1.8.0)构建的play 2.2.2

上传控制器:

public static Result uploadFile() {
    MultipartFormData body = request().body().asMultipartFormData();
    FilePart audioFile = body.getFile(Constants.KEY_UPLOAD_AUDIO_FILE);
    if (audioFile != null) {
        String fileName = audioFile.getFilename();
        String contentType = audioFile.getContentType();
        File file = audioFile.getFile();
        return ok("File uploaded to: " + file.getAbsolutePath());
    } else {
        return badRequest("File not found");
    }
}

谢谢大家的帮助。

1 个答案:

答案 0 :(得分:0)

上传后的常用方法是将文件从tmp文件夹移动到目标文件夹,最好放在application.conf中,即:

upload.path = "/my/desired/location/"

因此,在您return之前,您可以将其移至正确的位置:

String uploadPath = Play.application().configuration().getString("upload.path", "/tmp/");
file.renameTo(uploadPath + fileName)