如何将二进制数据转换为图像并在Div Tag或img Tag中显示?

Cod*_*ner 1 c# asp.net-mvc blob image

我正在将我的图像转换为二进制数据并以二进制格式存储:

byte[] bytes = System.IO.File.ReadAllBytes(@"F:\Image\Img1.jpg");
Run Code Online (Sandbox Code Playgroud)

我存储图像的数据库字段是:Varbinary(Max)

现在我正从我的数据库中读取这个二进制数据,我正在获取二进制数据.

我想在此Div标签中显示图像.

这是我的观点:

 <div class="Image-ad"></div>
Run Code Online (Sandbox Code Playgroud)

我的课:

 public class ImageAdd   
 {
        public Guid ImageAddId { get; set; }
        public byte[] Image { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

我的控制器:

public ActionResult Index()
{
   var data=db.ImageAdd.ToList();    
   return View(db);
}
Run Code Online (Sandbox Code Playgroud)

如何将此二进制数据转换为图像并在Div标签中显示???

Ima*_*ati 8

两种选择:

1:将此添加到图像div

<img src="data:image;base64,@System.Convert.ToBase64String(Model.Image)" />
Run Code Online (Sandbox Code Playgroud)

你做完了!

2:另一种方法是向控制器添加一个简单的方法,并在视图中调用它以显示图像标记.将此方法添加到您的控制器:

public ActionResult GetImage(byte[] data) 
{
  MemoryStream ms = new MemoryStream(data)
  return File(ms.ToArray(), "image/png");
}
Run Code Online (Sandbox Code Playgroud)

并在视图中将此行添加到图像div:

<img src="@Url.Action("GetImage", "MyController", new { data = Model.Image })" />
Run Code Online (Sandbox Code Playgroud)