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

  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. string path = this.textBox1.Text;
  4. byte[] imgBytesIn = SaveImage(path);
  5. ShowImgByByte(imgBytesIn);
  6. //Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;
  7.  
  8. }
  9. //将图片以二进制流
  10. public byte[] SaveImage(String path)
  11. {
  12. FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存
  13. BinaryReader br = new BinaryReader(fs);
  14. byte[] imgBytesIn = br.ReadBytes((int)fs.Length); //将流读入到字节数组中
  15. return imgBytesIn;
  16. }
  17. //现实二进制流代表的图片
  18. public void ShowImgByByte(byte[] imgBytesIn)
  19. {
  20. MemoryStream ms = new MemoryStream(imgBytesIn);
  21. pictureBox1.Image = Image.FromStream(ms);
  22. }

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

  1. #region 将图片从数据库中读取
  2. /// <summary>
  3. /// 将图片从数据库中读取
  4. /// </summary>
  5. /// <param name="xs_ID">要读取图片的学号</param>
  6. /// <param name="ph">pictureBox1控件名</param>
  7. public void get_photo(string xs_ID, PictureBox ph)//将图片从数据库中读取
  8. {
  9. byte[] imagebytes = null;
  10. getcon();
  11. SqlCommand con = new SqlCommand("select * from S_jiben where S_num='" + xs_ID + "'", link);
  12. SqlDataReader dr = con.ExecuteReader();
  13. while (dr.Read())
  14. {
  15. imagebytes =(byte[])dr.GetValue(18);
  16. }
  17. dr.Close();
  18. con_close();
  19. MemoryStream ms = new MemoryStream(imagebytes);
  20. Bitmap bmpt = new Bitmap(ms);
  21. ph.Image = bmpt;
  22. }
  23. #endregion
  24. #region
  25. public void SaveImage(string MID, OpenFileDialog openF)//将图片以二进制存入数据库中
  26. {
  27. string strimg = openF.FileName.ToString(); //记录图片的所在路径
  28. FileStream fs = new FileStream(strimg, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存
  29. BinaryReader br = new BinaryReader(fs);
  30. byte[] imgBytesIn = br.ReadBytes((int)fs.Length); //将流读入到字节数组中
  31. getcon();
  32. StringBuilder strSql = new StringBuilder();
  33. strSql.Append("update S_jiben Set xs_photo=@Photo where S_num=" + MID);
  34. SqlCommand cmd = new SqlCommand(strSql.ToString(), link);
  35. cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;
  36. cmd.ExecuteNonQuery();
  37. con_close();
  38. }
  39. #endregion
  40.  
  41. 结伴旅游网www.jieberu.com
    推推族,免费门票获取平台 www.tuituizu.com

ASP.Net将图片以二进制方式存入数据库,并读取的更多相关文章

  1. 026. asp.net中将图片以二进制方式保存到数据库并以HTTP流方式输出

    保存到数据库中 protected void imgbtnCreate_Click(object sender, ImageClickEventArgs e) { string PerHomeName ...

  2. OleContainer操作Excel以二进制方式读写数据库

    需求源头:OleContainer操作Excel,想把Excel以二进制方式存入数据库,并且以二进制方式读取存入流:Procedure SaveToStream(ADOTable1: TAdoTabl ...

  3. 【转载】C#将图片以二进制流的方式存入数据库

    在C#开发应用程序的过程中,图片一般会存放在文件系统中,当然图片也可以二进制的方式存放到数据库中,不过一般不建议存放在数据库中,因为图片占用的空间还是挺大的,特殊情况下可以考虑将图片存在数据.此文将介 ...

  4. php从数据库中取二进制流文件转换为图片,图片以二进制流存入数据库实现

    php从数据库中取二进制流文件转换为图片,图片以二进制流存入数据库实现 function data_uri($contents, $mime) { $base64 = base64_encode($c ...

  5. 获取博客积分排名,存入数据库,读取数据进行绘图(python,selenium,matplotlib)

    该脚本的目的:获取博客的排名和积分,将抓取时间,排名,积分存入数据库,然后把最近的积分和排名信息进行绘图,查看积分或者排名的变化情况. 整个脚本的流程:是利用python3来编写,利用selnium获 ...

  6. 运用PDO存储将图片、音频文件存入数据库

    在数据库中创建表格的时候,有一个字段为image,用来保存图片,那么其类型就是blob,关于blob,百度百科是这样描述的 BLOB (binary large object),二进制大对象,是一个可 ...

  7. 图片,二进制,oracle数据库

    图片在oracle数据库中一般以二进制存在,存储类型是blob,然而clob类型一般存储的是大于4000的字符,不能用来存储图像这样的二进制内容,下面展示一下实现图像,二进制,oracle 数据库的应 ...

  8. 基于easyui框架中input 类型的checkbox拼接成字符串存入数据库和读取选中---善良公社项目

    项目中我做修改用户个人资料的时候,有一个需求是帮助人员的帮助类型如图下所示: 当初想如果是asp.net控件的话应该很简单实现,如果不是基于easyUI框架那就太简单了,现在是受框架的限制与是前端ht ...

  9. SQL Server 枚举异或运算后值存入数据库,读取符合条件的值

    有枚举如下: [Flags] public enum Color { Red = , Green = , Blue = , White = } 定义三个枚举变量,并将值存入数据库: Color col ...

随机推荐

  1. ie 11 cookie 的值为空

    昨天碰到ie 11上运行的程序时  登录老是登录不上去 一直是登录界面 最后检查半天发现时因为 权限验证登录时 获取cookie里的用户信息时 一直为空 便在网上查询资料  发现是因为ie11 里貌似 ...

  2. C#实现微信公众号群发消息(解决一天只能发一次的限制)

    经过几天研究网上的代码和谢灿大神的帮忙,今天终于用C#实现了微信公众号群发消息,现在整理一下. 总体思路:1.首先必须要在微信公众平台上申请一个公众号. 2.然后进行模拟登陆.(由于我对http传输原 ...

  3. MySQL日期 字符串 时间戳互转

    平时比较常用的时间.字符串.时间戳之间的互相转换,虽然常用但是几乎每次使用时候都喜欢去搜索一下用法:本文将作为一个笔记,整理一下三者之间的 转换(即:date转字符串.date转时间戳.字符串转dat ...

  4. UVA 10173 (几何凸包)

    判断矩形能包围点集的最小面积:凸包 #include <iostream> #include <cmath> #include <cstdio> #include ...

  5. OD调试篇13

    今天的程序比较大,听说还是比较牛的程序,不过破解它的一个比较老的版本的.打开程序看看. 点击about   然后点enter registration code    输入name  以及密钥之后,会 ...

  6. 转:GROUPING SETS、ROLLUP、CUBE

    转:http://blog.csdn.net/shangboerds/article/details/5193211 大家对GROUP BY应该比较熟悉,如果你感觉自己并不完全理解GROUP BY,那 ...

  7. redis-persist上线

    九月份惨不忍睹,因为代码质量不够高,直接被Boss喷成了筛子.被反复教育说要高质量的代码,要可维护.高性能…… 幸而,最后一周终于在紧张的加班中,灰度上线redis-land-go了,项目也改名为re ...

  8. Python 基礎 - if else流程判斷

    hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...

  9. C/C++ 网络库介绍

    C/C++ 网络库介绍 Aggregated List of Libraries(Source Link) Boost.Asio is really good. Asio is also availa ...

  10. Linux命令--系统中常用的查看命令

    摘自 http://my.oschina.net/syyzhan/blog/277536 1.查看日志文件 使用命令:cat 或者 tail -f(默认查看文件尾部10行) 相关日志文件: /var/ ...