我們製作了自定義圖像裁剪器。sitecore:清除媒體緩存中的單個圖像
這個想法是它將一個查詢字符串保存在項目中的一個字段中。 然後在渲染中,我們將該查詢字符串添加到圖片url。
我們增加了一個getMediaStream管道。在這個管道內部,我們使用基於圖像所具有的查詢字符串的ImageProcessor來裁剪圖像。
這一切工作...一次。
一旦圖像在媒體緩存中,我們就再也沒有回到getMediaStream管道中。因爲當你懷孕時,你不會改變圖像,但你改變了查詢字符串。
我們正在尋找一種方式,當我們保存新的作物時,我們從該圖像中清除媒體緩存。 我們已經嘗試了以下內容:
var mediaItem = new MediaItem(imageField.MediaItem);
var media = MediaManager.GetMedia(mediaItem);
var mediaOptions = new MediaOptions();
var mediaStream = MediaManager.Cache.GetStream(media, mediaOptions);
MediaStream cachedStream = null;
MediaManager.Cache.AddStream(media, mediaOptions, mediaStream, out cachedStream);
我們得到了媒體緩存流,並嘗試將其設置爲零,但是這給了我們以下異常:Could not create the buffer file needed for stream sharing
任何想法,如果有可能清除單個項目從媒體緩存?
傳遞不同的參數通常會導致媒體生成和緩存。如果您始終傳遞相同的參數,則出於性能原因,預計不會再次觸發管道。你是說它不是這樣工作的嗎? – jammykam 2014-11-04 09:07:34