Получить URL изображения из Umbraco изучить поиск UDI

Я использую Umbraco с Lucene и Examine

Я пытаюсь получить URL изображения, но в данный момент я получаю следующее "umb: // media / 57ad107794724d0289b4f9fe44c298a8"

Как я могу получить URL для медиа из UDI, моя попытка кода пока ниже.

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 ответ

Попробуйте следующее

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, чтобы получить идентификатор, затем вы можете использовать его, чтобы получить URL

Другие вопросы по тегам