Вывод изображения на страницу сайта по относительному пути из модели ASP.NET Core
В папке wwwroot есть папка images, где хранятся изображения (для модели User изображения в папке users, для Clothes в папке clothes и т.д.). В классе User есть свойство ImageGuid, куда загружается GUID изображения из БД. Я хочу, чтобы в свойстве ImageSrc хранился относительный путь к изображению модели, чтобы в html я мог просто прописать <image src="@Model.ImageSrc"/> и у меня вывелось соответствующее изображение.
Класс User
[Table("Users")]
public class User
{
[Key]
public int UserId { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
[Column("Image")]
public Guid? ImageGuid { get; set; }
public string ImageSrc => ImageGuid == null ? "~/images/default.jpg" : $"~../images/users/{ImageGuid}.jpg";
public virtual ICollection<Clothes> ClothesSellers { get; set; }
}
HTML разметка
@model User;
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>User/Index</title>
</head>
<body>
<div>
<h3>@Model.UserId - @Model.UserName</h3>
<p>@Model.Email</p>
<img src="@Model.ImageSrc"/>
</div>
</body>
</html>

Ответы (1 шт):
Автор решения: YAVAY
→ Ссылка
Нужно убрать знак ~ в пути изображения у свойства ImageSrc.
В итоге, если определить свойство так:
public string ImageSrc => ImageGuid == null ? "/images/default.jpg" : $"/images/users/{ImageGuid}.jpg";
то изображение будет корректно отображаться на странице