我想通过rails方法下载一个包含一些图像的zip文件。问题是,当我试图读取这些文件时,我没有得到整个文件。当然,这是相当恼人的显示图像。
下面是我的代码: def download_zip(image_list)
if !image_list.blank?
file_name = "pictures.zip"
t = Tempfile.new("lolbite11")
Zip::OutputStream.open(t.path) do |z|
image_list.each do |img|
title = img.name
title += ".jpg" unless title.end_with?(".jpg")
z.put_next_entry(title)
z.print IO.read(Rails.root.join('public', img.path)) <- Here is the problem ?
end
end
send_file t.path, :type => 'application/zip',
:disposition => 'attachment',
:filename => file_name
t.close
end
end
在我下载压缩并提取它之后。我用文本编辑器打开我的图像,遗憾地看到我没有完整的图像…我试着输出IO。读取',它只显示我最终文件中的内容
我终于找到了另一种方法来解决我的File.copy_stream()的问题。
但如果有人知道为什么这不起作用,请随时向我解释。