У меня есть модель под названием 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, который обрабатывает это.
IЯ спорю о записи чего-то, что создает временный файл из удаленного пути, добавляет этот временный файл в zip, а затем удаляет временный файл.
Но прежде чем я это сделаю, кто-нибудь знает, обрабатывает ли RubyZip или какая-либо другая библиотека zip архивирование удаленных файлов?Или есть лучший / более простой способ?
Спасибо!