我正在尝试创建一个POST端点,该端点接受将生成两行CSV(标题和一行值)的哈希,并返回CSV:
def generate
csv = CSV.generate do |csv|
csv << csv_params[:data].keys
csv << csv_params[:data].values
end
send_data(csv, filename: 'testing.csv', disposition: 'attachment', type: :csv)
end
问题似乎是,浏览器与支持返回附件的POST不一致。
如果我将generate
操作切换为GET请求,并且适用于所有浏览器。但我的问题是,如果我使用GET并通过URL传递所有参数,则可能会遇到URL大小限制。
我的POST实现中是否存在使用send_file
的东西,或者我可以使用的一些技巧,我不必在服务器上创建临时文件,并返回引用改为那个文件?