我的代码已将 Qr 代码的图像生成到 .NET Bitmap 对象中。当按下页面上的按钮时,会调用生成此代码的代码,如下所示:
public ActionResult GenerateQrCode()
{
Bitmap qrCodeImage = Generate();
return RedirectToAction("QrCodeGenerator");
}
它是页面 MVC Controller 中的一个方法。
按下按钮时,会生成图像,然后我们将导航回页面。
那么从这里开始,我需要采取哪些步骤才能将此位图图像输出到我的网页(.cshtml 文件)。请记住,我正在使用 ASP.NET MVC。
我在网上看到的一件事是人们将图像保存到“Response.OutputStream”中。我不太确定这是否与 ASP.NET MVC 相关。
谢谢
最佳答案
Controller 操作需要返回一个FileStreamResult。这就是你的做法
public static byte[] ConvertToByteArray(this Image img)
{
using (var stream = new MemoryStream())
{
img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
return stream.ToArray();
}
}
public ActionResult GenerateQrCode()
{
Bitmap qrCodeImage = Generate();
//write your own methode to convert your bit map to byte array, here is a link
//http://stackoverflow.com/questions/7350679/convert-a-bitmap-into-a-byte-array-in-c
byte[] byteArray = qrCodeImage.ConvertToByteArray();
return File(byteArray, "image/jpeg");
}
在你看来,你可以做这样的事情
<img src="@Url.Action("GenerateQrCode")" alt="qr code" />
关于.net - 从 Bitmap 对象将图像渲染到 ASP.NET MVC 网页上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13792896/