私は新しいSitecore 8.1インスタンスを稼動しています。 Sitecoreは、 "/-/media/Images/FOLDER/IMAGENAME.jpg"のようなURLを持つメディアハンドラを介して画像を読み込みます。 Sitecore Media Handlerは、Sitecoreデータベース内のイメージを見つけて実際のイメージファイルを返すように実行する必要があります(イメージはディスク上に存在しません)。 SitecoreがImageResizerに処理させるのではなく、要求を盗み出すので、ImageResizerにSitecore画像を処理させることはできませんでした。意味をなさないディスクキャッシュのプラグインでSitecore
しかし私は、本当によく働くサイトコアのカスタムパイプラインを実装しました:
var settings = new ResizeSettings(HttpContext.Current.Request.QueryString);
ImageBuilder.Current.Build(args.OutputStream.Stream, stream, settings);
args.OutputStream = new MediaStream(stream, args.MediaData.Extension, args.MediaData.MediaItem);
それはして正常にクライアントにリサイズした画像を返します。しかし、ディスクキャッシュを有効にして、オンデマンドですべてのリサイザ要求を処理する必要がなく、この問題のためのリソースを見つけられないようにする方法はわかりません。
自分のカスタムパイプラインを避け、ネイティブImageResizerを有効にして、自分のシナリオ(Sitecore Media)でDiskCacheプラグインを使用できることはありますか?それとも、自分のパイプラインを修正してDiskCacheクラスを使用して自分自身をセットアップする方法はありますか?
ありがとうございます!
は、サイトコアの画像リサイズ機能(例:品質圧縮)で用意されていないImageResizerの機能がいくつかあります。 ImageResizerを使ってイメージのサイズを変更し、ImageResizerのDiskCacheプラグインとは対照的にSitecoreのMediaCache機能を使用して問題を解決しました。 – kamojoe