如何使用Play Framework 2.0下载文件

时间:2012-12-17 15:32:54

标签: java playframework-2.0

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

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

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

3 个答案:

答案 0 :(得分:38)

Play的操作可以返回文件:

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

Here's an API for Results

答案 1 :(得分:6)

为静态文件提供下载选项可以在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 - 请确保设置“内容处理”

答案 2 :(得分:0)

提供文件 如果将整个内容加载到内存中以获取简单内容,那么大数据集又不是问题?假设我们想要将一个大文件发送回Web客户端。

请参阅:http://www.playframework.com/documentation/2.0.x/JavaStream