Я использую attachment_fu и RMagick для загрузки / изменения размера изображений в приложении rails. В настоящее время я использую локальную файловую систему в качестве хранилища, но у меня есть план использовать AWS S3 для этой работы. В любом случае мне очень интересно узнать, что другие люди испытывают при использовании S3, а также у меня есть один большой вопрос для вас. В моем приложении, когда пользователь загружает изображение, я изменяю размер этого изображения до 5 различных размеров и сохраняю их вместе с исходными изображениями. (всего 6 изображений) в зависимости от размера миниатюры, представленной в модели:
:thumbnails => {
"thumb" => "120x80",
"extra_small"=>"480x320",
"small"=>"640x480",
"medium" => "800x533",
"large"=>"2738x1825",
"extra_large" => "3464x2309"
Наконец я получаю:
- image_foo.jpg (Исходное изображение)
- image_foo_thumb.jpg
- image_foo_extra_small.jpg
- image_foo_small.jpg
- image_foo_medium.jpg
- image_foo_large.jpg
- image_foo_extra_large.jpg
Причина, по которой я изменяю размеры этих изображений, заключается в том, что мне необходимо сохранить фактические размеры каждого изображения в базе данных. Но на самом деле даже я указал размеры для эскизов, я не получаю точные размеры. В любом случае, все в порядке, так как размер рассчитывается на основе соотношения сторон.
Но мне действительно не нравится тратить место на сервере, если я могу рассчитать размеры миниатюр, не сохраняя их в файловой системе. Другими словами, мне нужно только сохранить исходный файл, а не миниатюры, но все же мне нужно получить размеры миниатюр. Можно ли получить реальные размеры миниатюр, не создавая их в RMagick?