我正在为一个实验项目开发 akka-http(akka-http-experimental_2.11 - 0.4)。而且我之前没有在Spray上工作过。
我想将 mp4 视频(大小可能不同)流式传输到浏览器。但我不知道如何为 HttpResponse(HttpEntity.Chunked ?)创建 HttpEntity。我尝试过像这样肮脏的东西,这不是正确的方法,但这在 Firefox 中仅适用于单个请求。
def output = Source.fromFile("C:\\Users\\karthik\\Downloads\\big_buck_bunny.mp4")(scala.io.Codec.ISO8859)
lazy val video = HttpResponse(entity = HttpEntity.Chunked(MediaTypes.`video/mp4`, Flow(output.map(_.toByte).map(a => ChunkStreamPart(ByteString(a)))).toProducer(materializer)))
当我在另一个选项卡或浏览器中打开相同的 url 时,服务器无法处理该请求。由于这是一个实验项目,因此没有足够的文档用于大文件流式传输。
我需要知道如何为 HttpEntity.Chunked 创建 Producer。如果有人可以简单地解释一下,那将有助于理解 API。
谢谢你。
(PS:有人请在 Stack Overflow 中创建 Akka-Http 标签)