我正在开发ASP.NET MVC 5应用程序。我需要在HTML标记<img />
中显示来自控制器的位图图像。我该怎么办?
请阅读:这个问题不是太宽泛了#34;它特别询问如何使用ASP.NET MVC在HTML图像标记中显示Bitmap
C#对象。请重新打开它。
答案 0 :(得分:11)
您可以简单地使用以下内容
<img src="@String.Format("data:image/png;base64,{0}", Convert.ToBase64String(Model.imageBytes))" />
答案 1 :(得分:8)
您需要有一个控制器操作,它返回一个FileStreamResult,然后使用指向此操作的<img />
标记。
public ActionResult Image()
{
var bitmap = GetBitmap(); // The method that returns Bitmap
var bitmapBytes = BitmapToBytes(bitmap); //Convert bitmap into a byte array
return File(bitmapBytes, "image/jpeg"); //Return as file result
}
// This method is for converting bitmap into a byte array
private static byte[] BitmapToBytes(Bitmap img)
{
using (MemoryStream stream = new MemoryStream())
{
img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
return stream.ToArray();
}
}
<img src='@Url.Action("image")' alt="" />