我正在开发ASP.NET MVC 5应用程序,需要在HTML标签<img />
中从控制器中显示Bitmap图像。如何实现?
请注意: 这个问题不是“过于宽泛”。 它明确询问如何使用ASP.NET MVC在HTML图像标记中显示Bitmap
C#对象。 请重新打开它。
我正在开发ASP.NET MVC 5应用程序,需要在HTML标签<img />
中从控制器中显示Bitmap图像。如何实现?
请注意: 这个问题不是“过于宽泛”。 它明确询问如何使用ASP.NET MVC在HTML图像标记中显示Bitmap
C#对象。 请重新打开它。
<img src="@String.Format("data:image/png;base64,{0}", Convert.ToBase64String(Model.imageBytes))" />
您需要编写一个控制器行为,返回一个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="" />