0

C# で .gif ファイルを保存および取得するタスクがあります。gif をデータベースに正常に保存しました。これをバイナリ ファイルに変換し、ストアド プロシージャを使用してデータベースに格納しました。

これが私のコードです:

public int Insert(byte[] Byte,string Name,int userid)
{
    try
    {
        SqlCommand storedProcCommand = new SqlCommand("Insert", con);
        storedProcCommand.CommandType = CommandType.StoredProcedure;
        storedProcCommand.Parameters.AddWithValue("@Bytes", banner2Byte);
        storedProcCommand.Parameters.AddWithValue("@name", bannerName);
        storedProcCommand.Parameters.AddWithValue("@userid", userid);
        con.Open();
        storedProcCommand.ExecuteNonQuery();
        con.Close();
    }
    catch (Exception ex)
    {
    }
}

データベースからバイト配列を取得してに変換し.gif、最初に保存したファイルを作成するにはどうすればよいですか?

public int Retrieve(int id)
{
    try
    {
        SqlCommand storedProcCommand = new SqlCommand("Retrieve", con);
        storedProcCommand.CommandType = CommandType.StoredProcedure;
        storedProcCommand.Parameters.AddWithValue("@id", id);

        con.Open();

        SqlDataReader reader = storedProcCommand.ExecuteReader();
        reader.Read();

        byte[] arrays = reader.getBytes();             

        reader.Close();
        con.Close();
    }
    catch (Exception ex)
    {
    }
}
4

1 に答える 1

2

gif ファイルを (ヘッダーとすべてを含めて) 正しく保存したと仮定すると、この関数を使用してバイト配列から画像を取得できます。

public Image bytearr2image(byte[] byteArrayIn)
{
    MemoryStream ms = new MemoryStream(byteArrayIn);
    return Image.FromStream(ms);
}
于 2012-09-26T20:08:48.960 に答える