我有一个名为 Image 的模型。图像具有使用 Dragonfly 附加的文件,这些文件存储在 S3 中。
我有一个要求,我需要压缩所有图像。
我在用着:
Zip::ZipFile.open(tmp_zip, Zip::ZipFile::CREATE) do |zipfile|
zipfile.add("image.jpg", image_path)
end
我遇到的问题是,如果image_path
是本地的,这可以工作。当您需要为文件调用 S3 时,image_path
是远程路径,例如http://example.s3.amazonaws.com/foo/image.jpg,我认为没有 RubyZip 方法可以处理那。
我正在讨论编写从远程路径创建临时文件的东西,将该临时文件添加到 zip,然后删除临时文件。
但在我这样做之前,有没有人知道 RubyZip 或其他一些 zip 库是否处理压缩远程文件?还是有更好/更简单的方法?
谢谢!