我是Play的新手,我正在尝试将数组[Byte]传回给用户。我一直在阅读
上的文档https://www.playframework.com/documentation/2.5.x/ScalaStream
但是当我实现它时,它表示chunked已被弃用,我应该使用chunked与Akka流源代替。目前我有
Ok.chunked(Source.fromBytes(file))
其中file是Array [Byte],但错误是:
Expected: Source[NotInferredC, _], actual: Source
在收到此错误后,我更深入地尝试获得不同的解决方案,然后尝试在我拥有的流媒体实体:
Ok.sendEntity(HttpEntity.Streamed(Source.fromBytes(file), None, None))
并且相应的错误是:
expected: Source[ByteString, _] actual: Source
我想知道,如何将我的Array [Byte]转换为适当的格式以在响应中流式传输,以及选择chunked vs sendEntity方法有什么好处。谢谢!
答案 0 :(得分:0)
val file: Array[Byte] = ???
Ok.sendEntity(HttpEntity.Strict(ByteString(file), None))
如果您的数据足够小,可以使用Ok.sendEntity
。但是如果它很大,那么你应该将它存储在你的硬盘上,通过小的和平(块)将它们发送给Ok.chunked
的用户。