Rails 3.1:如何将Linode上的PDF下载到客户端计算机?
我试图了解启动下载需要做什么 位于与 Rails 应用程序所在服务器不同的服务器上的文件的数量?
具体来说,我的 Rails 应用程序位于 Heroku 上,并且我想要提供 PDF 下载在 Linode 上。我希望客户在点击时获得 PDF 在网络应用程序中的下载按钮上
我的第一次尝试是使用 send_file :type => 'application.pdf', :x_sendfile =>真的。 但这显然是错误的,因为它只能提供本地存储在网络应用服务器上的文件
- ,因此,有没有一种方法可以让 Linode 直接向客户端发送数据? ,或者
- 我是否必须在本地下载文件然后调用 send_file ? (恶心!!!)
- Linode 端需要进行任何更改吗?我在 Tomcat 上运行了一个网络服务
提前感谢您的帮助, 阿比纳夫
I am trying to understand what needs to be done to initiate a download
of files that are housed on a server different from the one on which the Rails app is?
Specifically, my Rails app is on Heroku and the PDFs I want to make available for
download are on Linode. I would like the client to get the PDFs when he/she clicks
on a download button in the web-app
My first attempt was with send_file :type => 'application.pdf', :x_sendfile => true.
But this is obviously wrong because it can only serve files stored locally on the web-app server
- Is there, therefore, a way to get Linode to send data directly to the client? , OR
- Do I have to download the file locally and then call send_file ? (yuck!!!)
- Would any changes be required on the Linode end? I have a web-service running there on Tomcat
Thanks in advance for your help,
Abhinav
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试将文件读入数据流并使用 send_data。这是类似想法的 Ruby 论坛讨论。这篇文章还描述了你讨厌的选项(#2,本地下载)。不幸的是我无法谈论 Linode 的变化。
另外,这是一篇 SO 帖子类似的问题。
You can try reading the file into a data stream and using send_data. Here is a Ruby forum discussion of a similar idea. The post also describes your yuck options (#2, local download). Unfortunately I cannot speak to Linode changes.
Also, here is an SO post about a similar issue.