创建.gif文件

时间:2012-09-26 20:03:59

标签: c# sql-server-2008 stored-procedures gif

我有一项任务是在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)
    {
    }
}

1 个答案:

答案 0 :(得分:2)

假设你已正确存储了gif文件(带有标题和所有文件),你可以使用这个函数从字节数组中取回一个Image。

public Image bytearr2image(byte[] byteArrayIn)
{
    MemoryStream ms = new MemoryStream(byteArrayIn);
    return Image.FromStream(ms);
}