データベースにアクセスせずに ASP.NET MVC でバイト配列イメージを効率的に表示する
多くの ASP.NET MVC アプリケーションは、イメージをモデル内のバイト配列として保存します。 ただし、これらの画像を取得するためにデータベースに繰り返しアクセスすると、パフォーマンスに影響します。この記事では、データベースをバイパスして効率を向上させ、バイト配列イメージをモデルから直接表示するソリューションを紹介します。
重要なのは、.NET の組み込み機能を利用してバイト配列を Base64 文字列に変換することです。この文字列は HTML <img>
タグのソースとなり、Web ページ上に画像を直接レンダリングします。
プロセスは次のとおりです:
Convert.ToBase64String()
を使用して、バイト配列を Base64 でエンコードされた文字列に変換します。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
属性が追加されていることに注意してください。 この例では、よりクリーンなコードのために文字列補間も使用しており、MIME タイプを動的に決定するための ImageType
プロパティ (例: "jpeg"、"png"、"gif") がモデルに含まれていることを前提としています。
以上がデータベースにアクセスせずにASP.NET MVCでバイト配列イメージを表示する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。