为什么我的 mp3/ogg 从 Drupal 7 私有文件提供时无法搜索,而从公共文件中可以查找



我编写了自己的JavaScript HTML5音频播放器,当文件来自Drupal 7公共文件时,它工作得很好,但是当从Drupal 7私有文件提供时无法搜索。我已登录,为什么会发生这种情况?

浪费了大量时间来调试和重写我的代码,只是发现是公共/与私有导致了错误,我最终通过使用可搜索的对象来解决这个问题,该对象不返回可搜索的时间表私有 src,但对公共工作正常。

我已经搜索了这个问题,发现了许多不相关但类似的问题,但没有一个可以解释这种行为。

Drupal 私有文件,就像大多数经过身份验证的 PHP 下载脚本一样,通过 PHP 脚本路由文件请求。这些脚本(几乎)从不支持执行恢复下载或请求文件部分等操作所需的相应标头,例如 Range 标头。

通常,这些问题的最佳解决方案是不使用PHP脚本来输出文件,因为它会给服务器增加不必要的负载。经过身份验证的下载的替代解决方案包括X-Sendfile(如果可用或可以安装)、公共目录中的临时随机命名符号链接等。

我在Drupal 7上使用Audiofield和jPlayer的私人文件,使用可恢复下载模块和此补丁解决了我的问题

最新更新