gpt4 book ai didi

scala - 返回二进制流作为对请求 Play Framework 的响应

转载 作者:行者123 更新时间:2023-12-01 05:43:22 24 4
gpt4 key购买 nike

我在从 Play Framework 返回二进制流时遇到问题。根据文档,如果框架发现 Controller 方法返回 Stream 或 File,它应该自动返回二进制输出。好吧,我的方法返回一个 Stream[Byte],但框架返回“Stream(100, ?)”而不是二进制流。

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


编辑

好吧,以防万一将来有人需要它,看来我以某种方式将其整合在一起。我只是从 Stream 构建一个字符串并将其返回。它似乎工作正常,但我确信有更好的解决方案。

例子:

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

res 是你的 Controller 方法应该返回的内容

最佳答案

您可能已经得到了您所需要的。 Stream(100, ?) 是一个 Stream,其第一个值为 100,其余值尚未计算。要完整地查看它,请尝试打印 stream mkString ("Stream(", ", ", ")")

关于scala - 返回二进制流作为对请求 Play Framework 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com