我的代码已经在.NET Bitmap对象中生成了Qr代码的图像。当在页面上按下按钮时,将调用生成此代码的代码,如下所示:
public ActionResult GenerateQrCode()
{
Bitmap qrCodeImage = Generate();
return RedirectToAction("QrCodeGenerator");
}
这是页面的MVC控制器中的方法。
按下按钮时,会生成图像,然后我们将导航回页面。
因此,从这里开始,我需要采取哪些步骤将此位图图像输出到我的网页(.cshtml文件)。请记住我正在使用ASP.NET MVC。
我在网上看到的一件事是人们将图像保存到'Response.OutputStream'。我不太确定这是否与ASP.NET MVC相关。
由于
答案 0 :(得分:5)
控制器操作需要返回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" />