【发布时间】:2017-12-19 14:42:43
【问题描述】:
尝试创建一个包含很多图片的zip文件,我的代码如下:
compressed_filestream = Zip::OutputStream.write_buffer do |zos|
@pictures.each do |p|
image_url = p.picturefile.url(:original)
zos.put_next_entry p.picturefile_file_name
zos.print(URI.parse(image_url))
end
end
compressed_filestream.rewind
send_data compressed_filestream.read, filename: "pictures.zip"
这会创建一个pictures.zip 文件,但它只包含每张图片的text-url 而不是实际的图片...
【问题讨论】:
-
您需要文件的路径而不是 URL 吗?
-
尝试读取文件,然后写入 zip。
Paperclip.io_adapters.for(p.picturefile).read.
标签: ruby-on-rails zip paperclip zipoutputstream