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 = 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
- 结伴旅游网www.jieberu.com
推推族,免费门票获取平台 www.tuituizu.com
ASP.Net将图片以二进制方式存入数据库,并读取的更多相关文章
- 026. asp.net中将图片以二进制方式保存到数据库并以HTTP流方式输出
保存到数据库中 protected void imgbtnCreate_Click(object sender, ImageClickEventArgs e) { string PerHomeName ...
- OleContainer操作Excel以二进制方式读写数据库
需求源头:OleContainer操作Excel,想把Excel以二进制方式存入数据库,并且以二进制方式读取存入流:Procedure SaveToStream(ADOTable1: TAdoTabl ...
- 【转载】C#将图片以二进制流的方式存入数据库
在C#开发应用程序的过程中,图片一般会存放在文件系统中,当然图片也可以二进制的方式存放到数据库中,不过一般不建议存放在数据库中,因为图片占用的空间还是挺大的,特殊情况下可以考虑将图片存在数据.此文将介 ...
- php从数据库中取二进制流文件转换为图片,图片以二进制流存入数据库实现
php从数据库中取二进制流文件转换为图片,图片以二进制流存入数据库实现 function data_uri($contents, $mime) { $base64 = base64_encode($c ...
- 获取博客积分排名,存入数据库,读取数据进行绘图(python,selenium,matplotlib)
该脚本的目的:获取博客的排名和积分,将抓取时间,排名,积分存入数据库,然后把最近的积分和排名信息进行绘图,查看积分或者排名的变化情况. 整个脚本的流程:是利用python3来编写,利用selnium获 ...
- 运用PDO存储将图片、音频文件存入数据库
在数据库中创建表格的时候,有一个字段为image,用来保存图片,那么其类型就是blob,关于blob,百度百科是这样描述的 BLOB (binary large object),二进制大对象,是一个可 ...
- 图片,二进制,oracle数据库
图片在oracle数据库中一般以二进制存在,存储类型是blob,然而clob类型一般存储的是大于4000的字符,不能用来存储图像这样的二进制内容,下面展示一下实现图像,二进制,oracle 数据库的应 ...
- 基于easyui框架中input 类型的checkbox拼接成字符串存入数据库和读取选中---善良公社项目
项目中我做修改用户个人资料的时候,有一个需求是帮助人员的帮助类型如图下所示: 当初想如果是asp.net控件的话应该很简单实现,如果不是基于easyUI框架那就太简单了,现在是受框架的限制与是前端ht ...
- SQL Server 枚举异或运算后值存入数据库,读取符合条件的值
有枚举如下: [Flags] public enum Color { Red = , Green = , Blue = , White = } 定义三个枚举变量,并将值存入数据库: Color col ...
随机推荐
- ie 11 cookie 的值为空
昨天碰到ie 11上运行的程序时 登录老是登录不上去 一直是登录界面 最后检查半天发现时因为 权限验证登录时 获取cookie里的用户信息时 一直为空 便在网上查询资料 发现是因为ie11 里貌似 ...
- C#实现微信公众号群发消息(解决一天只能发一次的限制)
经过几天研究网上的代码和谢灿大神的帮忙,今天终于用C#实现了微信公众号群发消息,现在整理一下. 总体思路:1.首先必须要在微信公众平台上申请一个公众号. 2.然后进行模拟登陆.(由于我对http传输原 ...
- MySQL日期 字符串 时间戳互转
平时比较常用的时间.字符串.时间戳之间的互相转换,虽然常用但是几乎每次使用时候都喜欢去搜索一下用法:本文将作为一个笔记,整理一下三者之间的 转换(即:date转字符串.date转时间戳.字符串转dat ...
- UVA 10173 (几何凸包)
判断矩形能包围点集的最小面积:凸包 #include <iostream> #include <cmath> #include <cstdio> #include ...
- OD调试篇13
今天的程序比较大,听说还是比较牛的程序,不过破解它的一个比较老的版本的.打开程序看看. 点击about 然后点enter registration code 输入name 以及密钥之后,会 ...
- 转:GROUPING SETS、ROLLUP、CUBE
转:http://blog.csdn.net/shangboerds/article/details/5193211 大家对GROUP BY应该比较熟悉,如果你感觉自己并不完全理解GROUP BY,那 ...
- redis-persist上线
九月份惨不忍睹,因为代码质量不够高,直接被Boss喷成了筛子.被反复教育说要高质量的代码,要可维护.高性能…… 幸而,最后一周终于在紧张的加班中,灰度上线redis-land-go了,项目也改名为re ...
- Python 基礎 - if else流程判斷
hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...
- C/C++ 网络库介绍
C/C++ 网络库介绍 Aggregated List of Libraries(Source Link) Boost.Asio is really good. Asio is also availa ...
- Linux命令--系统中常用的查看命令
摘自 http://my.oschina.net/syyzhan/blog/277536 1.查看日志文件 使用命令:cat 或者 tail -f(默认查看文件尾部10行) 相关日志文件: /var/ ...