Rails中x_sendfile的问题

时间:2009-02-15 08:12:53

标签: ruby-on-rails x-sendfile

我在使用John Guenin的x_send文件(http://john.guen.in/past/2007/4/17/send_files_faster_with_xsendfile/)时遇到了一些问题。

编码下载PDF文件时,我使用以下代码:

def send_the_file(filename)
  xsendfile (“#{Rails.root}/doc/” + filename, :type => ‘application/pdf’)
end

但我只下载了1个字节。如果文件名不是绝对的(因此添加了#{Rails.root}),通常会发生这种情况。我还检查过该文件是否具有必要的权限。这在localhost和我的prod站点都失败了。

任何想法我做错了什么?

TIA,

URF

3 个答案:

答案 0 :(得分:3)

您使用的是什么版本的Rails?如果您使用的是2.1或更高版本,则X-Sendfile选项内置于Rails的send_file方法中。

send_file 'filename', :x_sendfile => true

否则,您确定已正确安装和配置mod_xsendfile吗?

答案 1 :(得分:2)

您可能希望确保您实际使用的是支持xsendfile的Web服务器。如果你是开发模式,你可能不是,它可能会失败。

答案 2 :(得分:0)

尝试在apache httpd.conf文件中设置

上面的XSendFile允许上方