-1

システムから画像のパスを指定して、システムの画像ファイルをバイナリ形式に変換したいと考えています。変換後、変換したバイナリ形式をフォルダに保存したい。どうすればできますか?Windows フォーム アプリケーションである必要があります。

4

1 に答える 1

1

本当にファイルをデータベースに保存しようとしているだけなら、それが画像であることを心配する必要はまったくありません。画像ファイルはすでに「バイナリ形式」になっています - ファイルデータを保存するだけです。ストリーミングの方法でこれを行う方法があるかもしれませんが、ファイルが巨大でない限り、ファイルをバイト配列にロードする方がおそらく簡単です。

byte[] image = File.ReadAllBytes(imagePath);

次に、パラメーター化imageされた SQL ステートメントでパラメーター値として使用します。

string sql = "INSERT INTO Foo (Path, ImageData) VALUES (@Path, @ImageData");
using (var connection = new SqlConnection(...))
{
    connection.Open();
    using (var command = new SqlCommand(sql, connection))
    {
        command.Parameters.Add("@Path", SqlDbType.NVarChar).Value = imagePath;
        command.Parameters.Add("@ImageData", SqlDbType.Image).Value = imageData;
        command.ExecuteNonQuery();
    }
}
于 2013-10-15T06:11:22.407 に答える