0

我必须下载需要身份验证的静态文件。我正在关注http://makandracards.com/makandra/990-speed-up-file-downloads-with-rails-apache-and-x-sendfilehttps://tn123.org/mod_xsendfile/

我已经设置config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache在 production.rb

控制器:

send_file("#{Rails.root}/private/myfile.mp3",
            :filename => "myfile.mp3",                
            type: "audio/mpeg",
            :disposition => 'inline')

阿帕奇配置:

<VirtualHost _default_:80>  
  ServerName myserver.com

  RequestHeader Set X-Sendfile-Type X-Sendfile
  XSendFile On
  XSendFilePath /sites/releases
  RailsEnv production
</VirtualHost>

即使,我把它,它没有发送任何 x-sendfile 标头。这很奇怪,但如果我删除 X-Sendfile On 和 X-SendfilePath,它会设置 X-Sendfile 标头,但文件不会在浏览器中播放。

我尝试了三天,我已经阅读了谷歌上的所有内容。

我有一种感觉,我错过了一些简单的东西。如果有人有任何建议,请告诉我!
谢谢。

4

0 回答 0