如何将已更改标头的Windows Azure存储blob发送到浏览器



情况:我有一大组视频和图像以及小型Play应用程序,这些应用程序在DB中存储对Blob的引用。对于网络使用,这是可以的,我正在渲染页面,在那里我放置Flowplayer,在它的配置中,我使用直接blob的路径作为源视频。无论如何,我被要求为其他旧设备提供额外的可能性,这些设备应该直接在响应体中发送带有标题的文件:

Content-Type:video/mp4
Content-disposition:inline
Content-Transfer-Encoding:binary

最初,该解决方案是使用PHP脚本完成的,该脚本使用CURL将blob提取到服务器,并作为响应返回到具有操作标头的客户端。

问题:用Play做这项工作的最佳方式是什么?(最好不将文件下载到服务器)。Blob将是公共的,所以我不需要关心隐藏原始路径,我只需要添加上面提到的头。

  1. 我应该使用WS.url()将文件提取到服务器,并将其作为具有修改的头的Result发送吗?我尝试过这个,但是WS超时时出现了一些问题
  2. 我还尝试设置头Content-Location:http//mystorage...,因为我知道它无论如何都需要响应体中的文件。所以,也许还有其他一些只使用头的技术
  3. 有什么方法可以在返回直接blob时强制自定义标头(即在GET参数中设置它)

也许是另一种方法?

我用第1种方法解决了我的问题,但使用了java.net.URL而不是WS.url()

对于更好的提议(尤其是在不将文件下载到服务器的情况下),赏金承诺是实际的。

相关内容

  • 没有找到相关文章

最新更新