使用rails将文件保存在用户选定的位置

时间:2009-11-07 07:10:17

标签: ruby-on-rails file-io ruby-on-rails-plugins

我们正在开发一种允许用户保存下载文件的功能。我们正在努力获得一个弹出窗口,用户可以选择目标位置/文件夹来保存他的文件。这可以用铁轨实现吗?

4 个答案:

答案 0 :(得分:1)

我认为你正在寻找send_file - 它很容易使用。

答案 1 :(得分:0)

我认为这取决于您返回给用户的内容类型和类似标头。 尝试返回类似的内容:

header('Content-disposition: attachment; filename=movie.mpg');
header('Content-type: video/mpeg');

编辑:我假设您能够通过HTTP生成标头并将文件返回给用户(没有简单的文件链接)

答案 2 :(得分:0)

我认为您正在尝试提供类似文件浏览器对话框的内容,允许客户端将文件保存在特定位置。

如果你试图从你的服务器提供这个,那么我应该说由于安全限制,浏览器制造商已经申请确保客户的安全。

另一种方法是让客户端下载你的浏览器插件/ activeX Control,它基本上是对客户端机器的控制,然后你可以做你想做的事情,也就是这样。

我认为如果没有这个,客户端下载的文件类型会被浏览器识别(基于标题),它会自动打开文件保存对话框,您无法进入客户端的安全领域。

答案 3 :(得分:0)

我想你想要下载文件选项。例如,点击你的URL 希望用户为它下载一个zip文件代码,你可以做类似的事情 这样:

class MyController < ApplicationController
  def downloadzip
     send_file "path_to_file", :type=>"application/zip"
   end
end