0

画像のサイズを変更してキャッシュする方法を適切に実装したいと思います。Atmには、これを実装する2つの方法があります:

1 オンザフライでサイズ変更: - コントローラーの場所、幅、高さを含む URL を作成します - キャッシュ バージョンが存在しない場合、コントローラーは画像を作成します - コントローラーはキャッシュ バージョンを提供します

2 最初にサイズを変更し、後で提供する: - キャッシュ バージョンが存在しない場合は画像を作成し、キャッシュされた画像を提供する URL を返します (カスタム htmlhelper を使用しますか?) - URL はコントローラーを呼び出します。コントローラーは、指定されたキャッシュされた画像のみを提供します

キャッシュを使用して画像のサイズ変更を実装するには、どのような方法を使用しますか? 上記のバージョンのいずれか、または別のアプローチですか?

私は「最初にサイズを変更し、後で提供する」というアプローチが最も気に入っています。URLで幅と高さを使用する必要がないためです。しかし、「オンザフライでサイズ変更」の長所は、すべての画像処理コードを 1 か所にまとめることです。

4

2 に答える 2

1

まずサイズ変更に同意します。実際、画像をキャッシュすると、キャッシュの有効期限が切れたときに再計算する必要があります。画像差し替えたらどうなる?注意が必要なキャッシュの無効化を処理する必要があります。最後に、OutputCache 属性を使用してキャッシュを活用することもできます。私が見ることができる唯一の欠点は、元の画像とサイズ変更された画像の両方を保存するため、ディスクにより多くのスペースが必要になることです。

画像のサイズを変更する方法に関する完全な記事は次のとおりです。 http://www.codeproject.com/Articles/191424/Resizing-an-Image-On-The-Fly-using-NET

お役に立てれば

于 2012-12-06T12:31:34.857 に答える
0

特にあなたのサイトがキャッシングに CDN を利用している場合は、最初にサイズを変更し、後で提供するアプローチを使用します。Image Resizer for MVCを見たことがありますか? まさにこの問題にこれを使用することを検討しています。

于 2012-12-06T11:27:17.317 に答える