【发布时间】:2017-04-08 15:03:38
【问题描述】:
我正在使用rubyzip 和rails 4,我正在尝试使用自定义方法来下载提交表中的所有附件,而无需实际创建 zip 文件。
submissions_controller.rb
def download
@submissions = Submission.all
file = "#{Rails.root}/tmp/archive.zip"
Zip::ZipFile.open(file, Zip::ZipFile::CREATE) do |zipfile|
@submissions.each do |filename|
zipfile.add(file, filename.file.url(:original, false))
end
end
zip_data = File.read(file)
send_data(zip_data, :type => 'application/zip', :filename => "All submissions")
end
如何正确设置文件 var。文档说这是档案名称,但我不想创建该物理档案。也许只是作为一个 tmp ?
【问题讨论】:
-
制作tmp文件发送,有什么问题?
-
我不太清楚该怎么做
-
documentation 可以帮助您。也尝试搜索一些东西,你不是第一个制作这样功能的开发者。
-
请看我更新的评论。我正在尝试创建该文件并将其作为附件发送,但出现无法访问错误
标签: ruby file ruby-on-rails-4 archive rubyzip