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

spg*_*spg 2 java filenames download playframework 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"));
}
Run Code Online (Sandbox Code Playgroud)

客户端下载的文件将以当前Controller命名.例如,如果我的Controller已命名UploadController,则下载的文件名称令人惊讶uploadcontroller.xlsx.

有关如何修改我的代码以便更严格地控​​制下载文件名称的任何想法?我想要命名下载的文件copy.xlsx,而不是uploadcontroller.xlsx.

nde*_*rge 7

只需在响应标头中添加:

response().setHeader("Content-Disposition", "attachment; filename=FILENAME");
Run Code Online (Sandbox Code Playgroud)

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