我有一项任务是在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)
{
}
}
答案 0 :(得分:2)
假设你已正确存储了gif文件(带有标题和所有文件),你可以使用这个函数从字节数组中取回一个Image。
public Image bytearr2image(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
return Image.FromStream(ms);
}