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

精贴 置顶
1273 0

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 = imgBytesIn;
          
        }
       
//将图片以二进制流
        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 = imgBytesIn;
            cmd.ExecuteNonQuery();
            con_close();
        }
        #endregion

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
用ASP实现网页BBS 2010-11-01
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
多家域名注册商信息泄露多位站长... 2013-10-11
asp.net常用代码 2010-09-11
超详细的SQL语句语法 2010-12-06
什么是泛域名解析 2013-10-21
遍历数据库中所有表的Sql语句 2010-12-06
ASP开发10条经验总结 2010-10-23
《节奏大师》中大家想不到这十首... 2013-09-11
淘宝客推广的三种代码有什么区别... 2013-09-17
JS弹出层代码 2010-09-13
网页的标题标签(Title Tag)要怎... 2010-09-29
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都