如何使用play框架将内联流显示为HTTP chunked响应

时间:2014-01-29 13:13:10

标签: scala playframework playframework-2.0

关注Play2的“Streaming HTTP Response”文档!框架,描述如何将文件或流作为分块响应发送。我在阅读之后写的http动作代码非常简单 -

Ok.chunked(
  Enumerator.fromStream(istream).andThen(Enumerator.eof)
)

每次刷新URL时,使用此代码,流中的数据将被浏览器下载为文件。我希望流内容在浏览器中以文本形式显示 inline ,而不是作为文件下载。文档页面上的File示例描述了如何使用文件执行此操作...但是查看API时,我看不到带有流的内联选项。因此,每次刷新浏览器时,是否可以使用分块响应显示流数据?如果我的期望无效,那么我们非常欢迎对原因进行一点解释。

1 个答案:

答案 0 :(得分:4)

从我的评论中:您应该在发送响应时设置浏览器支持的content-type(如text / plain或text / xml),否则您只是发送字节而浏览器不“知道” “它可以显示它。

更新:添加解决问题的确切代码:

Ok.chunked( Enumerator.fromStream(istream).andThen(Enumerator.eof) ).as("text/html")