.net - 从 Bitmap 对象将图像渲染到 ASP.NET MVC 网页上

标签 .net asp.net-mvc asp.net-mvc-4

我的代码已将 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/

相关文章:

c# - 这个关键字存在吗?当覆盖方法需要调用父方法时

.net - 将描边应用于 WPF 中的文本 block

c# - 你调用的对象是空的

c# - ef6 include() 用于具有必需属性的可空属性

c# - 在 ASP.NET MVC 3 View 层次结构之间传递的数据

c# - 在 C# 中使用 CSVHelper 更改 CSV 文件中标题的名称

javascript - 无法通过 JavaScript 将参数从 View 传递到 Controller

asp.net-mvc - Web API和ASP MVC之间的主要区别是什么

javascript - 如何从 Controller 发送多个 JSON 结果以查看?

.net - Global.asax ASP.Net Web API 中的 GlobalConfiguration.Configuration.EnsureInitialized() 是什么