2016-03-09 5 views
0

У меня есть ImageRegion и вы можете увидеть файл Guidated в моем App_Data. Каков метод извлечения изображения из моей Razor или Controller.Доступ к изображению от модели

У меня есть встроенная страница в моей модели ViewModel;

public Piranha.Models.PageModel CMSData { get; set; } 

и заполнить его в мой контроллер

PhotoWeb.Models.LoginViewModel model = new Models.LoginViewModel(); 
model.CMSData = Piranha.Models.PageModel.GetByPermalink("welcome"); 

Я могу видеть соответствующие ImageRegion с помощью расширения объекта в моей бритве

@Model.CMSData.Regions.Header 

Это дает мне ImageRegion, содержащий идентификатор файл изображения, хранящийся в App_Data \ Content. Поскольку App_Data недоступен с помощью тега src по соображениям безопасности, каков правильный метод Piranha для доступа к изображению и его отображение в моем теге <img>?

ответ

0

Получается, что мне нужно прикрепить Guid, я вернусь от @Model.CMSData.Regions.Header с помощью "media.ashx", как показано ниже.

/// <summary> 
/// Replace the passed HTML content with one held in the CMS. If no match found 
/// then the current content would be returned. 
/// </summary> 
public static string ReplaceImage(string current, 
    Func<Piranha.Extend.Regions.ImageRegion> cmsAccessor) 
{ 
    Piranha.Extend.Regions.ImageRegion replacement = cmsAccessor(); 
    if (replacement == null) 
    { 
     return current ; 
    } 
    return "media.ashx/" + replacement.Id.ToString(); 
} 
Смежные вопросы