我有一个节点,其媒体库中的图像属性。该媒体资源包含媒体图片的ID。我需要从此Id获取媒体对象。在一把umbraco 4.x中你可能只是做到以下几点:Umbraco 6.x .Net控制媒体ID
var image = new Media(imageId);
出于某种原因,这种方法似乎在行动失踪。我找到的唯一一个将从媒体库中获取图像的名称。但我只得到Id。
这是为我将在页面上使用的.Net控件。我只需要获取图像的完整路径,以便我可以在图像标签的SRC字段中使用它。
我有一个节点,其媒体库中的图像属性。该媒体资源包含媒体图片的ID。我需要从此Id获取媒体对象。在一把umbraco 4.x中你可能只是做到以下几点:Umbraco 6.x .Net控制媒体ID
var image = new Media(imageId);
出于某种原因,这种方法似乎在行动失踪。我找到的唯一一个将从媒体库中获取图像的名称。但我只得到Id。
这是为我将在页面上使用的.Net控件。我只需要获取图像的完整路径,以便我可以在图像标签的SRC字段中使用它。
我在源代码中挖掘后发现了答案。从WebControl的内获得通过ID的媒体对象在6.x版本中,你必须做到以下几点:
var mediaObject = ApplicationContext.Current.Services.MediaService.GetById(mediaId);
然后你就可以从对象的下列属性:
var filePath = mediaObject.Properties["umbracoFile"].Value as string;
var width = mediaObject.Properties["umbracoWidth"].Value as int?;
var height = mediaObject.Properties["umbracoHeight"].Value as int?;
var bytes = mediaObject.Properties["umbracoBytes"].Value as int?;
var fileExtension = mediaObject.Properties["umbracoExtension"].Value as string;
希望这帮助别人!
,你也可以使用uQuery库,是一把umbraco的一部分时下
Media mediaObject = umbraco.uQuery.GetMedia(mediaId);