Скрепка может считать фото геометрию от блока S3?

Я хотел бы прочитать геометрию фотографии моего контейнера S3.

Когда это идет мое локальное, это работает:

def photo_geometry(style = :original)
  @geometry ||= {}
  @geometry[style] ||= Paperclip::Geometry.from_file photo.path(style)
end

Но это, кажется, не работает, когда я переключаю свою модель на S3.. Какие-либо рекомендации?

Большая история, я пытаюсь написать некоторый код, который позволит мне получать фотографии от S3, позволять пользователям обрезать их и затем повторно загружать их назад на S3, все еще присвоенный скрепкой.

Править:

Это - ошибка, которая возвращается:

Paperclip::NotIdentifiedByImageMagickError: photos/199/orig/greatReads.png is not recognized by the 'identify' command.
from /Users/daniellevine/Sites/hq_channel/vendor/gems/thoughtbot-paperclip-2.3.1/lib/paperclip/geometry.rb:24:in `from_file'
from /Users/daniellevine/Sites/hq_channel/app/models/photo.rb:68:in `photo_geometry'
from (irb):1
12
задан Trip 1 July 2010 в 18:51
поделиться

1 ответ

Если вы используете S3 в качестве механизма хранения, вы не можете использовать метод геометрии, описанный выше (он предполагает локальный файл). Скрепку можно преобразовать из файла S3 в локальный файл TempFile с помощью Paperclip :: Geometry.from_file :

Вот мой обновленный код:

def photo_geometry(style = :original)
  @geometry ||= {}
  @geometry[style] ||= Paperclip::Geometry.from_file(photo.to_file(style))
end
14
ответ дан 2 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: