0

レールアプリで画像をアップロード/サイズ変更するためにattachment_fuRMagickを使用しています。現在、ローカル ファイル システムをストレージとして使用していますが、ジョブには 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で作成せずに実際のサムネイルサイズを取得することは可能ですか?

4

1 に答える 1

2

S3 のスペースは比較的安価です。だから私はあまり心配しません。ただし、画像をより少ないサイズに変換することを検討できます。small と extra small を省略して、HTML img タグの幅と高さの属性を使用できます。ただし、それによってサイドの読み込みが遅くなり、トラフィックが増加します。

あなたが本当に探しているのは、ファイルが要求されたときにその場でファイルを変換するソリューションだと思いますか? 既製の解決策があるかどうかはわかりません。ただし、これは主要なパフォーマンスの低下になります。

したがって、私の推奨事項は、すべての異なるサイズに固執し、Amazonに数セント多く支払うことです. これにより、最高のパフォーマンスが得られ、維持が最も簡単になります。スケーリングについて心配する必要はありません。ストレージがますます安価になっているという事実は、このソリューションで機能します。

于 2010-03-01T19:49:18.293 に答える