我正在使用Play Framework 2.0.3创建一个应用程序,该应用程序提供应该可由用户下载的Excel文件。
response().setContentType("application/x-download");
response().setHeader("Content-disposition","attachment; filename=tradeLogTest.xlsx");
但是,如何从response()
获取输出流?tks
答案 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"));
答案 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