Jon*_*gan 2 ruby ruby-on-rails
我有以下rails代码
send_file '/test.pdf'
Run Code Online (Sandbox Code Playgroud)
该文件似乎下载0字节,有没有人有任何想法如何解决这个问题?
谢谢
我相信send_file依赖于您的Web服务器的支持.您是否使用内置服务器中的rails运行应用程序?如果是这样,我想你会看到你在这里的行为.
基本上,send_file背后的想法是它设置一个HTTP标题'X-Sendfile'指向您要发送的文件.Web服务器看到此标头而不是返回响应的主体,而是发送指定的文件.
这种方法的好处是,您的普通Web服务器经过高度优化,可以非常快速地发送静态文件的内容,并且通常可以比rails本身更快地完成工作数倍.
因此,您的问题的解决方案是:*使用支持X-Sendfile的网络服务器(例如Apache),或者*作为rubyprince评论,请使用send_data,这将使ruby做繁重的工作.
另外,您应该能够通过使用Firebug或Safari/Chrome的开发人员工具查看响应标头来确认这是发生了什么.
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |