更新2: 我仍然努力獲得服務器上的圖標保存。Sitecore如何獲得媒體項目的媒體領域內的價值
我在這裏做什麼:
Item item = Sitecore.Context.Database.GetItem(imageId);
var imageIconUrl = Sitecore.Resources.Images.GetThemedImageSource(item.Appearance.Icon,
ImageDimension.id32x32);
if (!string.IsNullOrEmpty(imageIconUrl))
{
// download the icon from the url
var iconFullPath = "e:\\pngIcons\\excelIcon.png";
var webClient = new System.Net.WebClient();
var downloadPath = "http://serverName/" + imageIconUrl;
webClient.DownloadFile(downloadPath, iconFullPath);
}
變量downloadPath
包含以下字符串:
"http://serverName/sitecore/shell/themes/standard/~/media/E503BA48C89B422D8400393F1C7086A7.ashx?h=32&thn=1&w=32&db=master"
在結束我所看到的是一個png文件,但什麼也沒有。我也複製字符串我在可變downloadPath
領取並粘貼到瀏覽器的它,我可以看到的圖標如下:
請讓我知道我做錯了。或我如何保存圖標。謝謝!!
原題:
的Sitecore的媒體項目有一個字段 「Media
」。我說的是這樣的:
我要訪問這個領域。原因是:
如果我使用例如item.GetMediaStream()
然後我會得到完整的文件。我只是想在服務器上保存這個小圖標。可能嗎 ?
如何將'var icon'作爲圖像文件保存在服務器上。謝謝! – Kamran
剛剛更新我的答案,通過流 –
'var field = item.Fields [「__ Icon」]'不是一個blob字段的圖標保存到磁盤的代碼。我在調試器中檢查過'IsBlobField'的值爲'false','HasBlobStream'也是'false'。 – Kamran