В вашем View
вы можете
1) Либо идти с байтами встроенного изображения:
<img src="data:image/jpeg;base64,@Convert.ToBase64String(Model.Image)" />
2) Или - использовать отдельное действие контроллера, как GetImage
ниже, котороевозвращает файл:
<img src="@Url.Action("GetImage", new { productId = Model.Id })" />
В этом случае вам потребуется дополнительное действие контроллера, например:
[HttpGet]
public FileStreamResult GetImage(Guid productId)
{
using (var dbContext = new DbContext())
{
var product = dbContext.Product.FirstOrDefault(x => x.Id == productId);
var ms = new MemoryStream(product.Image);
return new FileStreamResult(ms, "image/jpeg");
}
}
ПРИМЕЧАНИЕ: если изображения не слишком велики, их сохранение в БД можетбудет хорошо.Если нет - я бы посоветовал сохранить их в файловой системе (или в облачном хранилище) с метаданными (такими как имя файла и т. Д.) В вашей базе данных.Но это точно другая история.