我已设置了处理特定文件下载的路径。
match '/overview' => "pages#overview", :as => "da_overview"
在页面#概述中,我正在使用此行发送文件
send_file File.join(Rails.root, 'public', 'downloads', 'overview.pdf'), :type =>"application/pdf"
我已经开启了x-sendfile设置。
config.action_dispatch.x_sendfile_header = "X-Sendfile"
另外,我在apache服务器上安装并启用了mod_xsendfile模块。我也为我的网站启用了它。
XSendFile on
但是,当我点击网址http://mysite.com/overview时,浏览器正在下载overview.pdf.html
,HTML文件显示为404: Requested URL /overview not found on this server
我检查了文件是否存在。 pdf文件是/ public / downloads目录。我错过了什么配置?请帮忙。
答案 0 :(得分:2)
根据您运行的mod_xsendfile的版本,您需要在“XSendFile on”之后添加以下内容之一,以授予mod_xsendfile访问文件系统上文件的权限。
mod_xsendfile 0.9:
XSendFileAllowAbove on
mod_xsendfile> 0.9:
XSendFilePath "/path/where/files/you're/sending/are"