2011-02-05 73 views
3

我有从播放框架返回二进制流的问题。根据文档,如果框架发现控制器方法返回Stream或File,框架应自动返回二进制输出。那么我的方法返回一个Stream [Byte],但是框架返回“Stream(100,?)”而不是二进制流。返回二进制流作为响应请求playframework

我做错了什么? 感谢您的答案, 托马斯·赫尔曼


编辑

确定的情况下,任何人都需要这在将来,它看起来像我莫名其妙地砍死一起。我只是从Stream中创建一个字符串并返回它。它似乎工作正常,但我相信有一些更好的解决方案。

例如:

val builder = new StringBuilder() 
builder.clear 
stream foreach { x=> builder.append(x.toChar)} 
val res = builder.toString 

其中RES是你的控制器方法应该返回

回答

0

你可能已经得到了你所需要的。 Stream(100, ?)Stream,其第一个值是100,其余值尚未评估。要充分了解它,请尝试打印stream mkString ("Stream(", ", ", ")")

+0

是的,但我实际上需要Play框架将流的内容发送到Web浏览器(或在我的情况下是一个BitTorrent客户端)。目前,我认为,它只发送对象的toString值 – Arg 2011-02-05 23:38:42