我有一個名爲Image的模型。圖像具有使用蜻蜓附件存儲在S3中的文件。Ruby使用RubyZip在Zip中存儲遠程文件
我有一個要求,我需要壓縮所有圖像。
我使用:
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或其他一些壓縮類庫是否可以處理遠程文件的壓縮?還是有更好/更簡單的方法?
謝謝!
我結束了自定義的方法,通過網絡/ http下載文件,保存臨時文件,將臨時文件放入zip,然後處置te mp文件。 – Corey