无法使用 Play Framework 向浏览器提供文件以供下载
Posted
技术标签:
【中文标题】无法使用 Play Framework 向浏览器提供文件以供下载【英文标题】:cannot serve file to browser for downloadingusing Play Framework 【发布时间】:2014-05-12 21:14:36 【问题描述】:我正在尝试使用播放框架 1.2.5 向浏览器端提供 csv 文件。 代码如下:
public static Result downloadData() throws Throwable
.
.
.
File file =new File(file_written_to);
.
response().setHeader("Content-Disposition", "attachment; filename=FILENAME");
return ok(file);
但它一直在说:
Controller 类型中的方法 ok() 不适用于参数(文件)
在我尝试使用return ok("hello")
对其进行测试后,它仍然显示:
Controller 类型中的方法 ok() 不适用于参数(String)
对于response(),它说这个方法是未定义的。
有人对我的代码问题出在哪里有任何想法吗? 提前致谢!
【问题讨论】:
导入语句中的File
是否与ok()
要求的File
相同?您可能导入了错误的类型。
添加适当的 Play 版本作为标签和/或描述
@MartinCarney 我什至试过了 ok("200");它给了我一个错误,说字符串不是正确的类型..
【参考方案1】:
您似乎正在阅读 Play 2.x 文档。试试:
renderBinary(file);
【讨论】:
【参考方案2】:您可以尝试玩干净,然后玩编译运行。有时它会崩溃......
【讨论】:
以上是关于无法使用 Play Framework 向浏览器提供文件以供下载的主要内容,如果未能解决你的问题,请参考以下文章
Play framework/Netty 不释放socket