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

C# 如何将二进制数据转换为图像并显示在Div标签或img标签中?,c#,asp.net-mvc,image,blob,C#,Asp.net Mvc,Image,Blob,我正在将我的图像转换为二进制数据,并使用以下命令以二进制格式存储: byte[] bytes = System.IO.File.ReadAllBytes(@"F:\Image\Img1.jpg"); 我存储图像的数据库字段是:Varbinary(Max) 现在我从数据库中读取二进制数据,得到二进制数据 我想在此Div标记中显示图像 我的看法是: <div class="Image-ad"></div> 我的控制器: public ActionResult Index

我正在将我的图像转换为二进制数据,并使用以下命令以二进制格式存储:

byte[] bytes = System.IO.File.ReadAllBytes(@"F:\Image\Img1.jpg");
我存储图像的数据库字段是:Varbinary(Max)

现在我从数据库中读取二进制数据,得到二进制数据

我想在此Div标记中显示图像

我的看法是:

 <div class="Image-ad"></div>
我的控制器:

public ActionResult Index()
{
   var data=db.ImageAdd.ToList();    
   return View(db);
}
public ActionResult GetImage(byte[] data) 
{
  MemoryStream ms = new MemoryStream(data)
  return File(ms.ToArray(), "image/png");
}
如何将此二进制数据转换为图像并显示在Div标记中?

两个选项:

1:将其添加到图像div

<img src="data:image;base64,@System.Convert.ToBase64String(Model.Image)" />
在视图中,将此行添加到图像div:

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


您也可以使用画布标记将图像加载到其中并以这种方式渲染,我们在最近的一个项目中为预览上载的图像而这样做。

可能重复@lloydm:但这是不同的,因为我想在我的div标记中显示。为什么您不能使用
img
标记?你可以用<代码> div < /代码>包装<代码> IMG<代码>标签。@ RAMIRAMILU:我接受你的建议,我愿意考虑你所说的。我不想把它当作单独的。method@MariaPithia什么不可以??此方法将二进制数据转换为图像,以便在视图中正确显示。如果您不喜欢,请使用第一种方法。此方法将单独调用否,因为我的主视图将被加载或在任何单击事件中被调用?请测试它,此方法将在页面加载时呈现图像。此控制器方法不会在页面加载时调用
<img src="@Url.Action("GetImage", "MyController", new { data = Model.Image })" />