Image というモデルがあります。画像には、S3 に保存されている Dragonfly を使用して添付されたファイルがあります。
すべての画像を圧縮する必要があるという要件があります。
私は使用しています:
Zip::ZipFile.open(tmp_zip, Zip::ZipFile::CREATE) do |zipfile|
zipfile.add("image.jpg", image_path)
end
私が直面している問題は、これimage_path
がローカルの場合に機能することです。ファイルのために S3 を呼び出す必要がある場合は、 http://example.s3.amazonaws.com/foo/image.jpgimage_path
などのリモート パスであり、それを処理する RubyZip メソッドはないと思いますそれ。
リモートパスから一時ファイルを作成し、その一時ファイルをzipに追加してから一時ファイルを削除するものを書くことについて議論しています。
しかし、それを行う前に、RubyZip やその他の zip ライブラリがリモート ファイルの圧縮を処理するかどうかを知っている人はいますか? または、より良い/より簡単な方法はありますか?
ありがとう!