【问题标题】:rails - how to let the client choose location for download a filerails - 如何让客户端选择下载文件的位置
【发布时间】:2015-12-10 07:53:15
【问题描述】:

我创建了一个选项来通过我的 rails 代码导出 csv 文件,它看起来像这样: def to_csv 公司 = current_company @opportunities = company.opportunities.company_visible.not_rejected

CSV.open("/Users/yarden/Downloads/file6.csv", "wb") do |csv|
  csv << @opportunities.attribute_names
  @opportunities.all.each do |opportunity|
    csv << opportunity.attributes.values
  end
end

结束

并且,我在客户端(使用 Angular 和 js)为此功能添加了一个 btn。 但是,我的问题是 - 当客户尝试下载 csv 文件时,如何让客户选择在他的电脑中找到文件的位置? 现在为了我的测试,我在我的电脑上写了一个特定的根目录。

先谢谢了!

【问题讨论】:

    标签: javascript ruby-on-rails angularjs csv


    【解决方案1】:

    此代码只会将文件本地保存在服务器上。如果您想让用户下载文件,我建议您将此 CSV 保存到 tempfile,然后在控制器中使用以下方法将其发送给用户

    // Controller action is called 'download_file'
    def download_file
        // Generate file
        send_file my_generated_csv
    end
    

    然后,用户可以通过单击将他引导至此操作的链接来下载文件。您可以在docs 中找到有关send_file 方法的更多信息

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      相关资源
      最近更新 更多