将文件保存到特定位置

时间:2012-01-22 14:28:00

标签: ruby-on-rails ruby-on-rails-3 download popupwindow saving-data

这是保存文件的方法:

 def savefile
    @generator = Generator.new(params[:generator])
    @bigtable = Rails.cache.read("pass")
    doc = "wyniki.csv"
    File.open(doc, "w"){ |f| f << @bigtable}
    send_file(doc, :type => 'text; charset=utf-8')
  end

目前,我的应用程序将我的文件保存到默认下载浏览器位置 - 我想更改它 - 我想初始化弹出窗口,用户可以更改文件名和应保存的位置(默认下载浏览器窗口) - 可以有谁帮我怎么做?

2 个答案:

答案 0 :(得分:2)

您在如何影响文件的位置方面受到限制。这是一个浏览器设置。如果用户设置了一些选项,下载应该自动转到他们的下载文件夹,那就是发生了什么。唯一的方法是通过指定:

向浏览器建议它应该提示用户输入位置
send_file doc, :type => 'text; charset=utf-8', :disposition => 'attachment'

有关更多选项,请参阅send_file文档。

答案 1 :(得分:1)

这是一个您的应用程序无法控制的浏览器设置。我使用Chrome,设置在首选项&gt;在引擎盖下。我知道其他浏览器也有类似的设置。

如果您选中“询问下载前保存每个文件的位置”框,那么您将获得您所描述的行为。

download location