使用Play Framework下载的文件文件名错误

时间:2012-07-02 01:35:10

标签: java playframework download filenames playframework-2.0

我正在使用Play Framework 2.0.2创建一个修改用户上传的Excel文件的应用程序。上传和修改Excel文件(服务器端)后,用户的浏览器会自动下载该文件。

但是,使用此代码:

public static Result upload() throws IOException {
    Http.MultipartFormData body = request().body().asMultipartFormData();
    Http.MultipartFormData.FilePart filePart = body.getFile("uploadedFile");

    modifyExcelFile(filepart.getFile()); // this method modifies the uploaded Excel file, and copies it to a file named "copy.xlsx"

    return ok(new File("copy.xlsx"));
}

客户端下载的文件将以当前Controller命名。例如,如果我的Controller名为UploadController,则下载的文件名称为uploadcontroller.xlsx

有关如何修改代码以便对下载文件的名称进行更严格控制的任何想法?我希望下载的文件名为copy.xlsx,而不是uploadcontroller.xlsx

1 个答案:

答案 0 :(得分:7)

只需在响应标题中添加:

response().setHeader("Content-Disposition", "attachment; filename=FILENAME");

FILENAME是您希望文件具有的名称。