Вы не можете просто вывести массив байтов в качестве источника тега изображения HTML.Это должен быть URI.Обычно это означает, что вам нужно действие, которое извлекает данные изображения из базы данных и возвращает их в виде файла:
[HttpGet("profileimage")]
public async Task<IActionResult> GetProfileImage(int profileId)
{
var profile = _context.Profiles.FindAsync(profileId);
if (profile?.image == null) return NotFound();
return File(profile.image, "image/jpeg");
}
Затем вы можете сделать что-то вроде:
<img src="@Url.Action("GetProfileImage", new { profileId = item.Id })" />
В качестве альтернативы,Вы можете использовать Data URI.Однако это приведет к тому, что все данные изображения будут включены в ваш HTML-документ, что увеличит общее время загрузки документа и задержит рендеринг.Кроме того, URI данных должны быть закодированы в Base64, что эффективно увеличивает размер изображения примерно в 1,5 раза.Для небольших простых изображений это не слишком важно, но вам определенно следует избегать такого подхода при использовании больших изображений.В любом случае, это будет выглядеть примерно так:
<img src="data:image/jpeg;base64,@Convert.ToBase64String(item.image)" />