12

私は、多くのウェブサイトの画像ストレージを無期限に拡張できるサービス(S3、CloudFilesなど)にプッシュする必要がある状況に陥っています。今まで、PythonのImagingライブラリを使用して、Djangoのsorl-thumbnailの助けを借りて、ユーザーがカスタムサムネイルサイズをオンザフライで生成できるようになりました。S3に保存された画像の拡大/縮小

画像をS3のようなものに移動すると、すぐにの画像がに失われます。私たちは、いずれかを実行できます。

  1. ローカルS3からソースをダウンロードしてサムネイルを作成することにより、ゆっくりとそれを実行してください
    詐欺:の所定のセットを作成することによって、それを先行行い
  2. 集中的に遅いと帯域幅でありますサムネイルサイズ(a'laのFlickr)とS3
    にそれらすべてをプッシュ 詐欺:それを生成することが可能なサイズと格納
  3. を使用されることはありませんファイルの多くは、ブラウザの高さ/幅を使用してサイズを変更してみましょう制限imgの属性タグ。
    詐欺:この時点#3で必要なファイル

より大きいをダウンロードして使用し、余分な帯域幅はいくつかの欠点と問題の簡単な解決策になりそうです。いくつかのクイックテストとdata from this websiteは、品質が期待通りに悪くないことを示しています(アスペクト比が維持されていることを保証できます)。

私たちが考慮していないかもしれない他のオプションや欠点に関する提案はありますか?

注:画像はデジタル写真であり、ウェブ上でのみ表示されます。サイズは、高さ/幅が1000〜50ピクセルの範囲です。

答えて

6

EC2を使用して、必要に応じて画像を拡大することをお勧めします。 EC2とS3の間の帯域幅は自由であり、高速でなければならないと私は解決#1のすべての問題を取り除くと思う。

+0

私たちのサーバーはSlicehostにあり、それに応じてCloudFilesへの100mbpsの無料接続があります。はい、これは#1についての私の恐怖を鎮めます。 – Pete

+1

Diggと言ってひとつの画像がヒットしたときのキャッシュと組み合わせると、これはうまくいくはずです。私は何千ものユーザーが同じ画像を何度も何度もJPEGでエンコードしていると思うのは嫌です。 –

関連する問題