gpt4 book ai didi

ruby-on-rails - Rails Assets 管道和字节服务 HTML5 视频

转载 作者:行者123 更新时间:2023-12-04 13:49:28 25 4
gpt4 key购买 nike

通过 Rails Assets 管道提供的 HTML5 视频(例如,放置在 /app/assets/videos 中)未响应状态代码 206 部分内容

视频确实显示正确,但响应为 200 OK,使得搜索(和循环,我相信)变得不可能。

作为放置在 /public 文件夹中的静态文件的同一视频实际上会根据需要返回 206 部分内容

我可以排除这是一个编码问题,有问题的测试视频来自 videojs 的网站:http://vjs.zencdn.net/v/oceans.mp4

对于一个特定的项目,我们被要求将视频放在 /app/assets/videos 文件夹中,但上述情况迫使我们将视频放在其他地方(例如 /public 或网络上的其他地方),因此不在源存储库中。

抛开视频是否应该 promise 来源的问题,有谁知道为什么会发生这种情况?

最佳答案

如果深入研究 Rails 源代码,您会发现对 Assets (不在/public 中)的请求是通过 sprockets-rails 提供的。它在/assets 路径上安装了一个机架应用程序,它是 Sprockets::Environment 的一个实例。

如果您随后深入研究链轮,它的齿条位由 Sprockets::Server 实现.如果您通读了它,那么很明显这不支持部分获取 - 没有任何东西会检查 Range header 。我不认为这是出于任何原因,只是没有人足够需要它来实现它。

另一方面,当文件公开时,它要么由 Rack::File 提供,它确实支持部分获取或通过您放在它前面的任何服务器(nginx、apache),这些服务器通常会支持部分获取。

关于ruby-on-rails - Rails Assets 管道和字节服务 HTML5 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25504308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com