2012-01-15 5 views
0

私は最善の方法について、&アップロードした画像のサムを表示する方法を保存するにはどうすればいいですか?私は写真ギャラリーを持っています。画像をアップロードすると、元のサイズ、thumb1、thumb2、およびthumb3で画像が保存されます。問題は、4つの画像を保存しているので、アップロードのプロセスに時間がかかることです。画像をアップロードして親指を作成する過程で良いアイデアですか?

私は今、画像をアップロードしてから3つの他の親指を作成することを意味します。画像の元のサイズのみをアップロードしてビューに表示することをお勧めしますCSSを手動で使用するだけで、サムの幅とサイズをイメージに設定できますか?

どのような方法が好きですか? 私のアプリは、アップロード用のpaperclipとamazonサービス用に、Rails 3.1、herokuで動作しています。

答えて

2

私たちのCMS(.NETベース)にも同様の機能があります。ユーザーはイメージをアップロードし、ハンドラは要求された解像度のサムネイルを作成します。余分なパフォーマンスを確保するためのディスクキャッシュメカニズムもあります。私たちの場合はうまくいく。

あなたのケースでは、私は悪い考えIMOのCSSサイズ変更を使用しません。

1

ファイルのアップロード時に、画像のサムネイルを作成する必要があります。理想的には、それを表示する解像度ごとにサムネイルを作成します。 私はCSSの1ピクセル幅でイメージのサイズを変更しません。 CSSでイメージのサイズを変更すると、イメージは常に完全にダウンロードされます。 自由に利用できる多くのイメージresizer/thumbnailingスクリプトがあります。それらの多くはアップローダに組み込まれています。 複数の画像を表示している場合は、サイズが変更されていないとパフォーマンスのボトルネックが発生します。これは訪問者を煩わしくし、さらに重要なことにサーバーリソースを噛んでしまいます。

例。 1000 x 1000ピクセルイメージは100万ピクセルです。 アップロード時にサイズ変更したコピーを100×100で保存し、それをユーザーに提供するのは10,000ピクセルです 99%減!!!

サムネイル生成に全く反対しているのなら、クライアントにデータを送信してローカルにいくつかのデータを保存させるために、キャッシュと圧縮を調べることをおすすめします。

関連する問題