首页 > 代码库 > ASP.Net将图片以二进制方式存入数据库,并读取

ASP.Net将图片以二进制方式存入数据库,并读取

把图片转换成二进制--把二进制转换成图片

        private void button1_Click(object sender, EventArgs e)        {            string path = this.textBox1.Text;            byte[] imgBytesIn = SaveImage(path);            ShowImgByByte(imgBytesIn);            //Parameters.Add("@Photo", SqlDbType.Binary).Value = http://www.mamicode.com/imgBytesIn;"color: #000000;">                   }        //将图片以二进制流        public byte[] SaveImage(String path)        {                        FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存            BinaryReader br = new BinaryReader(fs);            byte[] imgBytesIn = br.ReadBytes((int)fs.Length);  //将流读入到字节数组中            return imgBytesIn;        }        //现实二进制流代表的图片        public void ShowImgByByte(byte[] imgBytesIn)        {            MemoryStream ms = new MemoryStream(imgBytesIn);            pictureBox1.Image = Image.FromStream(ms);        }

二、将图片保存到数据库中,并从数据库中读取:

        #region 将图片从数据库中读取        /// <summary>        /// 将图片从数据库中读取        /// </summary>        /// <param name="xs_ID">要读取图片的学号</param>        /// <param name="ph">pictureBox1控件名</param>        public void get_photo(string xs_ID, PictureBox ph)//将图片从数据库中读取        {            byte[] imagebytes = null;            getcon();            SqlCommand con = new SqlCommand("select * from S_jiben where S_num=‘" + xs_ID + "", link);            SqlDataReader dr = con.ExecuteReader();            while (dr.Read())            {                imagebytes =(byte[])dr.GetValue(18);            }            dr.Close();            con_close();            MemoryStream ms = new MemoryStream(imagebytes);            Bitmap bmpt = new Bitmap(ms);            ph.Image = bmpt;         }        #endregion        #region        public void SaveImage(string MID, OpenFileDialog openF)//将图片以二进制存入数据库中        {            string strimg = openF.FileName.ToString();  //记录图片的所在路径            FileStream fs = new FileStream(strimg, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存            BinaryReader br = new BinaryReader(fs);            byte[] imgBytesIn = br.ReadBytes((int)fs.Length);  //将流读入到字节数组中            getcon();            StringBuilder strSql = new StringBuilder();            strSql.Append("update S_jiben Set xs_photo=@Photo where S_num=" + MID);            SqlCommand cmd = new SqlCommand(strSql.ToString(), link);            cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value =http://www.mamicode.com/ imgBytesIn;            cmd.ExecuteNonQuery();            con_close();        }        #endregion

结伴旅游网www.jieberu.com
推推族,免费门票获取平台 www.tuituizu.com

ASP.Net将图片以二进制方式存入数据库,并读取