如何使用 Play Framework 2.0 下载文件

2022-09-02 11:41:01

我正在使用Play Framework 2.0.3创建一个应用程序,该应用程序提供用户应该可以下载的Excel文件。

 response().setContentType("application/x-download");  
 response().setHeader("Content-disposition","attachment; filename=tradeLogTest.xlsx");  

但是,如何从 ?tks 获取输出流response()


答案 1

Play 的操作可以返回一个文件:

response().setContentType("application/x-download");  
response().setHeader("Content-disposition","attachment; filename=tradeLogTest.xlsx"); 
return ok(new File("/absolute/path/to/tradeLogTest.xlsx"));

这是一个用于结果的 API


答案 2

为静态文件提供下载选项可以在 Play 中按如下方式完成:

Ok.sendFile(new File("path to file/abc.csv"), inline=true).withHeaders(CACHE_CONTROL->"max-age=3600",CONTENT_DISPOSITION->"attachment; filename=abc.csv", CONTENT_TYPE->"application/x-download");

还有其他参数也可用

对于 Internet Explorer - 请确保设置了“内容处置”


推荐