繁体   English   中英

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

[英]how to convert binary data to image and display in Div Tag or img Tag?

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

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

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

现在,我正在从数据库中读取此二进制数据,并且正在获取二进制数据。

我想在这个Div标签中显示图像。

这是我的观点:

 <div class="Image-ad"></div>

我的课:

 public class ImageAdd   
 {
        public Guid ImageAddId { get; set; }
        public byte[] Image { get; set; }
 }

我的控制器:

public ActionResult Index()
{
   var data=db.ImageAdd.ToList();    
   return View(db);
}

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

两种选择:

1:将其添加到图像div

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

就完成了!

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

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

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

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

您还可以使用canvas标签将图像加载到其中并进行渲染,我们这样做是为了预览最近项目中的上传图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM