从Umbraco获取图像的url检查搜索UDI

时间:2018-03-17 22:32:48

标签: lucene umbraco examine

我正在使用Umbraco和Lucene并检查

我正在尝试获取图片的网址,但此刻我得到了以下内容 “UMB://媒体/ 57ad107794724d0289b4f9fe44c298a8”

如何从UDI获取媒体的URL,到目前为止我的代码尝试如下。

foreach (var item in searchResults)
            {


                var content = Umbraco.Content(item.Fields["id"]);

                if (item.Fields.Keys.Contains("image"))
                {
                    var image = item.Fields["image"].Split(new[] {","}, StringSplitOptions.RemoveEmptyEntries);

                    var pathToImage = string.Join(",", image);
                    var mediaItem = Umbraco.TypedContent(pathToImage);
                    var test3 = mediaItem.Url; <--------------------Throws NullReferenceException

                }
}

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

尝试以下

if (item.Fields.Keys.Contains("image"))
                {
                    var imgUdi          = item.Fields["image"];
                    var udi             = Udi.Parse(imgUdi);
                    var mediaTest       = Umbraco.TypedMedia(udi);
                    string pathToImage  = mediaTest.Url;
                }

注意我是如何使用Udi.Parse获取ID的,然后你可以用它来获取网址