Scala 返回二进制流作为对playframework请求的响应

Scala 返回二进制流作为对playframework请求的响应,scala,playframework,Scala,Playframework,我在从play框架返回二进制流时遇到问题。根据文档,如果发现控制器方法返回流或文件,框架应该自动返回二进制输出。我的方法返回一个流[字节],但是框架返回“Stream(100),”,而不是二进制流 我做错了什么? 谢谢你的回答, 托马斯·赫尔曼 编辑 好吧,万一将来有人需要这个,看起来我不知怎么把它拼凑起来了。我只是从流中构建一个字符串并返回它。它似乎工作正常,但我相信有更好的解决办法 例如: val builder = new StringBuilder() builder.clear st

我在从play框架返回二进制流时遇到问题。根据文档,如果发现控制器方法返回流或文件,框架应该自动返回二进制输出。我的方法返回一个流[字节],但是框架返回“Stream(100),”,而不是二进制流

我做错了什么? 谢谢你的回答, 托马斯·赫尔曼


编辑

好吧,万一将来有人需要这个,看起来我不知怎么把它拼凑起来了。我只是从流中构建一个字符串并返回它。它似乎工作正常,但我相信有更好的解决办法

例如:

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

其中res是控制器方法应该返回的值

您可能已经得到了所需的值<代码>流(100,?)是第一个值为
100
流,其余值尚未计算。要全面查看,请尝试打印
stream mkString(“stream”(“,”,“,”))

是,但实际上我需要Play framework将流的内容发送到web浏览器(或者在我的情况下是BitTorrent客户端)。目前,我认为,它只发送object@Arg如果是这种情况,要么不要使用
,要么执行一些强制它进行完全计算的禁止操作(例如,
val noop=Stream.mkString
).是的,使用我添加到OP中的函数解决了这个问题。我只是希望playframework会接受一个流作为控制器方法的输出。对我来说似乎有点自然。无论如何,谢谢你的重播!