以前有讲过如何把图片信息以二进制的方式存储在sql数据库中,(详情请看:http://www.yxsoft.net.cn/article.asp?id=22)今天我们来看看,
如果把以前存储的图片读取出来,并显示:
代码如下:
SqlConnection con = new SqlConnection("server=(local);user id=sa;pwd=;database=db");
string imagename = "";
try
{
con.Open();
SqlCommand com = new SqlCommand("select name from tb where id=1", con);
SqlDataReader dr = com.ExecuteReader();
dr.Read();
MemoryStream ms = new MemoryStream((Byte[])dr["name"]);
Bitmap image = new Bitmap(ms);
string filepath = Server.MapPath("Files/");
DirectoryInfo dir = new DirectoryInfo(filepath);
FileInfo[] filecount = dir.GetFiles();
int i = filecount.Length;
imagename = filepath + ((i + 1) + ".jpg");
image.Save(imagename);
dr.Close();
Image1.ImageUrl = "Files/" + ((i + 1) + ".jpg");//把图片显示在image1控件上
}
finally
{
con.Close();
}
说明:
MemoryStream类:用于创建其支持存储区为内存的流.
Bitmap类的save方法:将image保存到指定的文件或流.