【问题标题】:How to show streams inline as HTTP chunked response with play framework如何使用播放框架将流内联显示为 HTTP 分块响应
【发布时间】:2014-01-29 13:13:09
【问题描述】:

我正在关注 Play2 的“Streaming HTTP Response”文档!描述如何将文件或流作为分块响应发送的框架。看完这篇我写的http-action代码很简单-

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

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

【问题讨论】:

  • 您是否尝试在发送响应时设置浏览器支持的content-type(如 text/plain 或 text/xml)?
  • 是的,就是这样!谢谢!有效的代码是 - Ok.chunked( Enumerator.fromStream(istream).andThen(Enumerator.eof) ).as("text/html") 现在我如何将您的评论标记为答案?

标签: scala playframework playframework-2.0


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多