首頁 >後端開發 >C++ >如何在 ASP.NET MVC 中顯示位元組數組圖像而不存取資料庫?

如何在 ASP.NET MVC 中顯示位元組數組圖像而不存取資料庫?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-08 17:56:42213瀏覽

How to Display Byte Array Images in ASP.NET MVC Without Database Access?

在 ASP.NET MVC 中高效顯示位元組數組影像,無需資料庫存取

許多 ASP.NET MVC 應用程式在其模型中將影像儲存為位元組數組。 然而,重複存取資料庫來檢索這些影像會影響效能。本文提出了一種直接從模型顯示位元組數組影像的解決方案,繞過資料庫以提高效率。

關鍵是利用.NET的內建功能將位元組陣列轉換為Base64字串。然後,該字串將成為 HTML <img> 標記的來源,直接在網頁上呈現圖像。

流程如下:

  1. Base64 轉換: 使用 Convert.ToBase64String() 將位元組陣列轉換為 Base64 編碼的字串。
  2. 資料 URI 格式: 使用 Base64 字串和影像的 MIME 類型建構資料 URI 字串(例如,「data:image/jpeg;base64,」)。
  3. HTML 圖片元素: 將格式化資料 URI 嵌入為 src 標記的 <img> 屬性。

此程式碼片段說明了實作:

<code class="language-csharp">@{
    var base64 = Convert.ToBase64String(Model.ByteArray);
    var imgSrc = $"data:image/{Model.ImageType};base64,{base64}"; //Improved using string interpolation and dynamic image type
}

<img src="@imgSrc" alt="Image from byte array" /></code>

這種最佳化方法避免了重複的資料庫調用,從而加快圖像載入速度並提高整體應用程式效能。 請注意新增 alt 屬性以實現可存取性。 這個範例還使用字串插值來使程式碼更簡潔,並假設您的模型包含 ImageType 屬性(例如“jpeg”、“png”、“gif”)來動態確定 MIME 類型。

以上是如何在 ASP.NET MVC 中顯示位元組數組圖像而不存取資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn