rails-如何让客户端选择下载文件的位置

rails - how to let the client choose location for download a file

本文关键字:下载 文件 位置 选择 客户端 rails-      更新时间:2023-09-26

我创建了一个选项,通过rails代码导出csv文件,如下所示:定义to_csvcompany=current_company@机会=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

结束

并且,我在客户端为这个函数添加了一个btn(使用Angular和js)。然而,我的问题是,当客户试图下载csv文件时,我如何让他选择在电脑中定位文件?现在为了我的测试,我在我的电脑上为它写了一个特定的根。

谢谢!

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

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

然后,用户可以通过单击将其发送到此操作的链接来下载该文件。您可以在文档

中找到有关send_file方法的更多信息