<img src=
... должен указывать на файл изображения по его пути , например <img src="/myImage.jpg">
. Вы не можете вставить двоичное представление изображения в src
и заставить его работать.
Таким образом, вы можете либо записать эти двоичные образы на диск куда-нибудь (вы, вероятно, не хотите этого делать, поскольку тогда вы дублируете данные и должны будете управлять синхронизацией).
Или вы можете создать какой-нибудь обработчик изображения, так что <img src=
будет выглядеть примерно так: <img src="/myHandler/imageId"
, а затем обработчик прочитает двоичные данные из базы данных и ответит изображением.
Это действие контроллера MVC, которое я использовал в прошлом для чтения двоичного PDF-файла из БД и его возврата в виде файла. Это в моем Competition
контроллере. Если бы это возвращало изображение, вы могли бы назвать это что-то вроде:
<img src="Competition/ViewJobDescription?competitionId=1234" />
public ActionResult ViewJobDescription(int competitionId)
{
string errorMsg = "";
var competition = new DBModel.Competition();
try
{
competition = DBModel.Competition.GetCompetition(competitionId);
if (competition != null && competition.AttachmentContent != null)
{
byte[] fileData = competition.AttachmentContent;
string filename = competition.AttachmentTitle + ".pdf";
return File(fileData, "application/pdf", filename);
}
}
catch (Exception ex)
{
errorMsg += "An error occured: " + ex.Message;
LogFile err = new LogFile();
err.CreateErrorLog(errorMsg);
ModelState.AddModelError(string.Empty, errorMsg);
}
return RedirectToAction("Index", "Home");
}