2015-09-24 2 views
0

У меня есть веб-часть макета, которая имеет поле «Тизер». В поле «Тизер» используется элемент управления «выбор медиа». В этом случае поле устанавливается на изображение, загруженное в одну из медиабиблиотек сайтов.Как получить относительный URL-адрес элемента мультимедиа из моего кода?

Я хочу, чтобы сделать это изображение, так что я пытаюсь получить относительный URL к нему в коде:

if (Teaser != Guid.Empty) // Teaser is {8d7fa1ab-b304-474f-9ab9-2e17e8fee84f} 
{ 
    var mediaInfo = MediaFileInfoProvider.GetMediaFileInfo(Teaser, SiteContext.CurrentSiteName); 
    // mediaInfo is null so the next line crashes 
    var libraryInfo = MediaLibraryInfoProvider.GetMediaLibraryInfo(mediaInfo.FileLibraryID); 
    string url = MediaFileURLProvider.GetMediaFileUrl(mediaInfo, SiteContext.CurrentSiteName, libraryInfo.LibraryFolder); 

variabe «MediaInfo» равна нулю, поэтому сбой кода.

Как я могу получить относительный URL-адрес моего медиафайла?

ответ

2

Вы не можете добавить элемент управления «Выбор материала» в сочетании с типом поля Guid. Затем вам нужно создать настраиваемый элемент управления, если вам нужно иметь только Guid.

Но лучшим решением будет добавить поле с типом данных «текста» и в сочетании с контролем формы «выбора медиа», а затем добавляет непосредственно относительный URL в пределах поля при выборе изображения из средств массовой информации библиотека.

Если вы нуждаетесь в MediaInfo, то вы можете получить этот объект с параметром «mediaFilePath», как описано здесь: https://devnet.kentico.com/docs/8_2/api/html/M_CMS_MediaLibrary_MediaFileInfoProvider_GetMediaFileInfo_3.htm

удачи, и если у вас есть вопросы, вы всегда можете задать их здесь, на StackOverflow или на http://devnet.kentico.com/questions-answers.

Если этот ответ помог вам, пожалуйста, проголосуйте за мой ответ :-)

+0

Благодаря @maartenvdh, проблема оказалась в том, что я переключая поле от типа страницы между «Выбором текстом => СМИ» и "file => direct uploader". Я думаю, что я должен был переключить тип, но потом не сохранил страницу, на которую я смотрел, или что-то в этом роде, поэтому у нее все еще был файл GUID в поле. Переключение на «text => media selection» дает мне URL-адрес непосредственно в поле, которое я хочу. – George

Смежные вопросы