设为首页 收藏本站
查看: 834|回复: 0

[经验分享] C#从SQL server数据库中读取l图片和存入图片

[复制链接]

尚未签到

发表于 2018-10-14 14:05:26 | 显示全部楼层 |阅读模式
  一、从图片中获得二进制值的基本方法:Image.Save 方法 (String, ImageFormat)
  这会将保存 Image 写入指定的文件中指定的格式。
  命名空间:   System.Drawing
  程序集:  System.Drawing(位于 System.Drawing.dll)
  语法:
  public void Save(   string filename,    ImageFormat format)
  参数
  filename
  Type: System.String
  一个字符串,包含要保存此文件的名称 Image。
  format
  Type: System.Drawing.Imaging.ImageFormat
  用于此 ImageFormat 的 Image。(包括.JGP、png等格式)
  异常
  ArgumentNullException: filename 或 format 是 null.
  ExternalException: 使用错误的图像格式保存图像。- 或 - 图像已保存到同一文件从创建它。
  二、Bitmap.Save 方法
  命名空間:   System.Drawing
  組件:  System.Drawing (於 System.Drawing.dll)
  多載清單:
  1、Save(Stream, ImageCodecInfo, EncoderParameters) :使用指定的編碼器和影像編碼器參數,將此影像儲存至指定的資料流。(繼承自 Image。)
  2、Save(Stream, ImageFormat) 將這個影像以指定的格式儲存至指定的資料流。(繼承自 Image。)
  3、Save(String) 這會將儲存 Image 到指定的檔案或資料流。(繼承自 Image。)
  4、Save(String, ImageCodecInfo, EncoderParameters) 這會將儲存 Image 至指定的檔案,以指定的編碼器和影像編碼器參數。(繼承自 Image。)
  5、Save(String, ImageFormat) 這會將儲存 Image 至指定的檔案中指定的格式。(繼承自 Image。)
  三、将图片保存在数据库和从数据库中还原程序的示例:
  //存图片
  private void button1_Click(object sender, EventArgs e)
  {
  #region   //从文件中读取图片
  FileStream fs = new FileStream(@"D:\i\2017年资料\SPC\SPC\30.jpg", FileMode.Open, FileAccess.Read);
  byte[] imagebytes = new byte[fs.Length];
  BinaryReader br = new BinaryReader(fs);
  imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
  SqlConnection mycn = new SqlConnection("server=192.168.1.14;database=fengyp;uid=sa;pwd=");
  mycn.Open();
  SqlCommand com = new SqlCommand("insert into dbo.试验图片存取 values(10,@ImageList)", mycn);
  

        com.Parameters.Add("ImageList", SqlDbType.Image);  

  com.Parameters["ImageList"].Value = imagebytes;
  

  com.ExecuteNonQuery();
  

  mycn.Close();
  #endregion
  

  #region   //从picturebox中读取图片
  //将Image转换成流数据,并保存为byte[]
  MemoryStream mstream = new MemoryStream();
  pictureBox1.Image.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
  byte[] bytes = new Byte[mstream.Length];
  mstream.Position = 0;
  mstream.Read(bytes, 0, bytes.Length);
  mstream.Close();
  SqlConnection mycn = new   SqlConnection("server=192.168.1.14;database=fengyp;uid=sa;pwd=");
  mycn.Open();
  

  SqlCommand com = new SqlCommand("insert into dbo.试验图片存取 values(11,@ImageList)", mycn);
  

        com.Parameters.Add("ImageList", SqlDbType.Image);  

  com.Parameters["ImageList"].Value = bytes;
  

  com.ExecuteNonQuery();
  

  mycn.Close();
  #endregion
  

  }
  //从数据库读取图片并还原
  private void button2_Click(object sender, EventArgs e)
  

  {
  

  byte[] imagebytes = null;
  

  //打开数据库
  

  SqlConnection con = new SqlConnection("server=192.168.1.14;database=fengyp;uid=sa;pwd=");
  

  con.Open();
  

  SqlCommand com = new SqlCommand("select 图片 from dbo.试验图片存取 where 序号=10", con);
  

  SqlDataReader dr = com.ExecuteReader();
  

  while (dr.Read())
  {
  

  imagebytes = (byte[])dr.GetValue(0);
  

  }
  

  dr.Close();
  

  com.Clone();
  

  con.Close();
  

  MemoryStream ms = new MemoryStream(imagebytes);
  

  Bitmap bmpt = new Bitmap(ms);
  

  pictureBox2.Image = bmpt;
  }



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-621557-1-1.html 上篇帖子: 写给一个哥们的SQL 下篇帖子: SQL语句导入导出大全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表