Sop*_*are 2 .net media controls umbraco
我有一个节点,其中包含媒体库中图像的属性.该属性包含媒体图像的ID.我需要从此Id获取Media对象.在Umbraco 4.x中,您可以执行以下操作:
var image = new Media(imageId);
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这种方法似乎在行动中缺失.我找到的唯一一个将采用媒体库中图像名称的一个.但我只得到了Id.
这是我将在页面上使用的.Net控件.我只需要获得图像的完整路径,以便我可以在图像标记的SRC字段中使用它.
我在源头挖掘后找到了答案.要在版本6.x中的WebControl中通过Id获取Media对象,您必须执行以下操作:
var mediaObject = ApplicationContext.Current.Services.MediaService.GetById(mediaId);
Run Code Online (Sandbox Code Playgroud)
然后,您可以从对象获取以下属性:
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;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助其他人!