レールアプリで画像をアップロード/サイズ変更するためにattachment_fuとRMagickを使用しています。現在、ローカル ファイル システムをストレージとして使用していますが、ジョブには AWS S3 を使用する計画があります。とにかく、S3 を使用した他の人々の経験を知りたいと思っています。また、大きな質問が 1 つあります。私のアプリでは、ユーザーが画像をアップロードすると、この画像のサイズを 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で作成せずに実際のサムネイルサイズを取得することは可能ですか?