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

时间:2016-02-06 18:58:31

标签: php drupal-7 html5-audio

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

我浪费了大量时间来调试和重写我的代码,但却发现它是导致错误的public / vs private,我最终通过使用可查找对象来解决它,该对象没有返回私有的可搜索时间线src,但对公众工作正常。

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我使用Resumable Downloa d模块和此patch

使用Drofal 7上的Audiofield私有文件和jPlayer解决了我的问题