Dot-Net

從 Bitmap 對象將圖像渲染到 ASP.NET MVC 網頁上

  • May 20, 2019

我的程式碼已將二維碼圖像生成到 .NET Bitmap 對像中。當在頁面上按下按鈕時,會呼叫生成此程式碼的程式碼,如下所示:

   public ActionResult GenerateQrCode()
   {
       Bitmap qrCodeImage = Generate();
       return RedirectToAction("QrCodeGenerator");
   }

這是頁面的 MVC 控制器中的一種方法。

按下按鈕時,會生成圖像,然後我們將導航回頁面。

所以從這裡開始,我需要採取哪些步驟才能將此點陣圖圖像輸出到我的網頁(.cshtml 文件)。請記住,我正在使用 ASP.NET MVC。

我在網上看到的一件事是人們將圖像保存到“Response.OutputStream”。我不太確定這是否與 ASP.NET MVC 有關。

謝謝

控制器動作需要返回一個 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" />

引用自:https://stackoverflow.com/questions/13792896