【问题标题】:Downloaded file with Play Framework has wrong filename使用 Play Framework 下载的文件的文件名错误
【发布时间】:2012-07-02 01:35:10
【问题描述】:

我正在使用 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 被命名为UploadController,那么下载的文件令人惊讶地命名为uploadcontroller.xlsx

知道如何修改我的代码以便更严格地控​​制下载文件的名称吗?我希望将下载的文件命名为copy.xlsx,而不是uploadcontroller.xlsx

【问题讨论】:

    标签: java playframework download filenames playframework-2.0


    【解决方案1】:

    只需在响应头中添加:

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-02
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      相关资源
      最近更新 更多