情况:我有大量视频和图像以及小型 Play 应用程序,它们在数据库中存储对 blob 的引用。对于网络使用来说,这是可以的,我正在渲染页面,在其中放置 Flowplayer,并在其配置中使用直接 blob 的路径作为源视频。不管怎样,我被要求为其他旧设备提供额外的可能性 - 应该直接在响应正文中发送带有 header 的文件:
Content-Type:video/mp4
Content-disposition:inline
Content-Transfer-Encoding:binary
最初该解决方案是使用 PHP 脚本完成的,该脚本使用 CURL 将 blob 提取到服务器,并使用受操纵的 header 作为响应返回给客户端。
问题:使用 Play 完成这项工作的最佳方式是什么? (最好不要将文件下载到服务器)。 Blob 将是公开的,因此我不需要关心隐藏原始路径,我只需要添加上面提到的 header 。
- 我应该使用
WS.url()
将文件获取到服务器并将其作为带有修改后的 header 的Result
发送吗?我尝试过此操作,但遇到了一些WS
超时问题。 - 还尝试设置 header
Content-Location:http//mystorage...
,无论如何,据我所知,无论如何它都需要响应正文中的文件。所以也许还有一些其他仅使用 header 的技术。 - 有什么方法可以在返回直接 blob 时强制自定义 header (即通过在 GET 参数中设置它)?
也许有一些完全不同的方法?
最佳答案
我用方法号解决了我的问题。 1,但使用 java.net.URL
而不是 WS.url()
,
赏金 promise 是为了更好的建议而实际存在的(特别是,如果不需要将文件下载到服务器即可完成)。
关于java - 如何将 Windows Azure 存储 blob 发送到浏览器并更改 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787259/