更新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