Я не знаю почему, но я не могу отобразить изображение из своей базы данных на мой взгляд. Он отображается в правильном разрешении для изображения, но он в основном трансперант. Я не уверен, что что-то в способе сохранения изображения неправильное (не должно быть), или если это что-то с отображением. Я прошу прощения, если мой вопрос слишком простой, но я застрял на этом больше, чем я должен быть :(Невозможно отобразить изображение из базы данных в asp.net view
значение атр: SRC = "данные: изображение/PNG; base64, iVBORw0KGgoAAAANSUhEUgAAASwAAADhCAYAAAByfIirAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAANL5JREFUeNrsnQl8VNXZ/8/MZJIJ2UMWIAkJCWFLwhpWAQEBKasoBkUUEBBpq7Xaoi34V2yp/PU =»
Here'how моя модель выглядит:
public int CompId { get; set; }
public byte[] ImageData { get; set; }
[NotMapped]
public HttpPostedFileBase UploadImage { get; set; }
[NotMapped]
public string ImageBase64 => System.Convert.ToBase64String(ImageData);
public string CompanyName { get; set; }
public string CompanyAddress { get; set; }
метод Действие:
public ActionResult Create([Bind(Include = "CompId,ImageData,CompanyName,CompanyAddress,CompanyCountry,CompanyCity,CompanyPostalCode,CompanyPhoneNumber,EmailCA")] Company company, HttpPostedFileBase UploadImage)
{
if (ModelState.IsValid)
{
byte[] buf = new byte[UploadImage.ContentLength];
UploadImage.InputStream.Read(buf, 0, buf.Length);
company.ImageData = buf;
db.Companies.Add(company);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(company);
}
И вид:
@model eksp.Models.Company
@{
ViewBag.Title = "Index";
}
<h2>Details</h2>
<div>
<h4>Company</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.ImageData)
</dt>
<dd>
<img src="data:image/png;base64,@Model.ImageBase64" />
</dd>
Любая помощь будет оценена.
Проверьте полученный HTML-источник страницы: вы видите, что ожидается в этом значении атрибута img src? – uncoder
Также установите точку останова в cshtml и проверьте массив '@ Model.ImageData'. У вас есть данные? – Alexei
@uncoder. Я просто добавил это значение в вопрос. –