从数据库中存取二进制数据并显示

以前有讲过如何把图片信息以二进制的方式存储在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保存到指定的文件或流.

你可能感兴趣的:(数据库)