ホームページ > データベース > mysql チュートリアル > C# を使用して画像をデータベースに保存するにはどうすればよいですか?

C# を使用して画像をデータベースに保存するにはどうすればよいですか?

DDD
リリース: 2024-12-30 22:43:10
オリジナル
134 人が閲覧しました

How to Store Images in a Database Using C#?

C# を使用したデータベースへの画像の保存

C# データベースにユーザー イメージを保存するソリューションをお探しですか?この包括的なガイドでは、このタスクを実行するための手順とすぐに使用できるメソッドを説明します。

メソッドの概要

以下で説明するメソッドは、バイト配列を利用して、画像データを取得し、IDataParameter を利用してバイナリ データをデータベースに挿入します。

using System.Drawing;
using System.Drawing.Imaging;
using System.Data;

public static void PersistImage(string path, IDbConnection connection)
{
    using (var command = connection.CreateCommand ())
    {
        Image img = Image.FromFile (path);
        MemoryStream tmpStream = new MemoryStream();
        img.Save (tmpStream, ImageFormat.Png); // modify to desired format
        tmpStream.Seek (0, SeekOrigin.Begin);
        byte[] imgBytes = new byte[MAX_IMG_SIZE];
        tmpStream.Read (imgBytes, 0, MAX_IMG_SIZE);

        command.CommandText = "INSERT INTO images(payload) VALUES (:payload)";
        IDataParameter par = command.CreateParameter();
        par.ParameterName = "payload";
        par.DbType = DbType.Binary;
        par.Value = imgBytes;
        command.Parameters.Add(par);
        command.ExecuteNonQuery ();
    }
}
ログイン後にコピー

メソッド解説

  1. 画像データを格納するバイト配列(imgBytes)を作成します。
  2. 指定されたファイルパスから画像を取得し、メモリストリーム(tmpStream)に保存します。 .
  3. ストリーム位置をリセットし、画像バイトを imgBytes に読み取ります。 array.
  4. 画像ペイロードをデータベースに挿入する SQL コマンドを作成します。
  5. 「payload」という名前の IDataParameter を作成し、バイナリ データを保存するようにそのプロパティを設定します。
  6. Add SQL コマンドにパラメータを指定し、それを実行してイメージを保存します。

この堅牢な方法を利用することで、開発者は次のことができます。さらなる処理、保存、または取得のために、画像をデータベースにシームレスに保存します。

以上がC# を使用して画像をデータベースに保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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