我有一個節點,其媒體庫中的圖像屬性。該媒體資源包含媒體圖片的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);