ホームページ > バックエンド開発 > C++ > ASP.NET MVC モデルでバイト配列から画像を表示するにはどうすればよいですか?

ASP.NET MVC モデルでバイト配列から画像を表示するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-08 18:18:41
オリジナル
854 人が閲覧しました

How Can I Display an Image from a Byte Array in My ASP.NET MVC Model?

ASP.NET MVC モデルでのデータベース イメージの効率的な表示

ASP.NET MVC アプリケーションでは、データベースにバイト配列として保存されている画像を表示することが頻繁に必要になります。 ただし、これらの画像を取得して表示するためにデータベースに繰り返しアクセスすると、パフォーマンスに影響を与える可能性があります。 この記事では、より効率的な方法を説明します。

バイト配列イメージを直接表示する

モデル内のバイト配列から画像を直接表示できるため、データベース クエリを繰り返し行う必要がなくなります。これは、バイト配列を Base64 文字列に変換し、それをイメージ タグの src 属性に直接埋め込むことで実現されます。

バイト配列を Base64 文字列に変換する

メソッドは、この変換を簡素化します。 バイト配列を受け入れ、それに相当する Base64 を返します。Convert.ToBase64String

ビューでの画像のレンダリング

次の Razor コード スニペットは、Base64 文字列を使用して画像をレンダリングする方法を示しています。

<code class="language-csharp">@{
    var base64 = Convert.ToBase64String(Model.ImageBytes);
    var imgSrc = $"data:image/jpeg;base64,{base64}"; // Adjust 'image/jpeg' as needed
}

<img src="@imgSrc" alt="Image from Database" /></code>
ログイン後にコピー
このコードは、バイト配列 (

) を Base64 文字列に変換し、Model.ImageBytes 変数を構築します。 imgSrc プレフィックスは画像タイプを指定します (必要に応じて調整します。一般的なオプションには data:image/jpeg;base64image/png が含まれます)。 image/gif をモデル内の実際のプロパティ名に置き換えることを忘れないでください。Model.ImageBytes

重要な考慮事項:

この方法にはパフォーマンス上の利点がありますが、次の点を考慮してください。

  • 画像タイプ: URL で画像の MIME タイプ (例: image/jpegimage/png) を正確に指定していることを確認してください。 タイプを誤って指定すると、画像が表示されなくなります。data:
  • 大きな画像: Base64 エンコードにより、画像データのサイズが増加します。 非常に大きな画像の場合、これはページの読み込み時間に悪影響を与える可能性があります。 画像を専用のファイル システムに保存し、大きな画像の場合は URL 経由で参照するなどの代替アプローチを検討してください。
  • エラー処理: バイト配列が null または無効な場合を適切に管理するために、適切なエラー処理を実装します。
この最適化されたアプローチは、ASP.NET MVC アプリケーションでバイト配列として保存されている画像を表示するための、よりクリーンで効率的な方法を提供します。 特定のモデル構造と画像タイプに一致するようにコードを必ず調整してください。

以上がASP.NET MVC モデルでバイト配列から画像を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート