Функция Razor для получения пути к изображению из действия

#c# #asp.net-mvc

#c# #asp.net-mvc

Вопрос:

Я разрабатываю метод отображения фотографии зарегистрированного пользователя на странице макета.

Похоже, что метод в порядке и возвращает мне путь к изображению, но я не знаю, как заставить его работать <img src=""> , или я могу сделать это с помощью какой-нибудь функции razor?

Если я вызываю свой метод из URL, подобного http://localhost:29469/User/LoadPhoto , он возвращает правильный путь.

Макет не напечатан, поэтому я не могу отобразить его как Model.Attribute

 public ActionResult LoadPhoto()
{
    if (User.Identity.IsAuthenticated)
    {
        var userStore = new UserStore<User>(new ERPIdentityDbContext());
        var userManager = new UserManager<User>(userStore);         

        var xUser = userManager.FindById(User.Identity.GetUserId());

        string xPhotoPath = HttpContext.Server.MapPath(@"~/Images/Users/")   xUser.FotoPath ;
        return Content(xPhotoPath);
    }

    return View();
}
  

Я хочу использовать метод return for LoadPhoto в <img src="">

Ответ №1:

Если ваши фотографии в формате JPG, верните a File ActionResult с image/jpeg типом содержимого:

 string xPhotoPath = HttpContext.Server.MapPath(@"~/Images/Users/")   xUser.FotoPath ;
return File(xPhotoPath,"image/jpeg");
  

Комментарии:

1. @LeandroLemos нет проблем, вы можете отметить это как ответ, если хотите.