Загрузка картинок из базы данных в ASP.NET Core
Не удаётся вывести изображение из базы данных. Пытаюсь просто вывести изображения, но получаю это:
Использовал два способа.
Способ 1.
Представление
@model IEnumerable<WebApplication1.Models.Clothe>
@{
}
<!DOCTYPE html>
<html>
<head>
<title>Shop</title>
</head>
<body>
<div class="row">
@foreach(var clothe in Model)
{
<img src="data:image/png;base64, @Convert.ToBase64String(clothe.Image)"/>
}
</div>
</body>
</html>
Модель
public class Clothe
{
public int Id { get; set; }
public string ClothingName { get; set; }
public decimal Price { get; set; }
public byte[]? Image { get; set; }
public string? ImageMimeType { get; set; }
}
В итоге получаю это:
Способ 2.
Представление
@model IEnumerable<WebApplication1.Models.Clothe>
@{
}
<!DOCTYPE html>
<html>
<head>
<title>Shop</title>
</head>
<body>
<div class="row">
@foreach(var clothe in Model)
{
<img src="@Url.Action("GetImage", new {clothe.Id})"/>
}
</div>
</body>
</html>
Модель такая же.
Метод в контроллере.
public IActionResult GetImage(int Id)
{
ClotheRepo clotheRepo = new ClotheRepo();
byte[] image = clotheRepo.GetClotheById(Id, Context).Image;
if (image != null)
{
return File(image, "image/png");
}
else
{
return null;
}
}
Итог:

