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

        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将图片以二进制方式存入数据库,并读取的更多相关文章

  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. HTML标签之<q> <blockquote>

    两个标签都表示“引用”. 不同的是,q标签是行内元素,在内容的开始和结尾处会包有“”,而 blockquote是块级元素,默认带有左右40px的外间距,不带“”. 从语义上讲,前者引用的是小段文字,后 ...

  2. Android 学习第6课,循环功能

    package ch02; public class jiujiuchengfa { public static void main(String[] args) { // TODO 自动生成的方法存 ...

  3. day11_API第一天

    1.Eclipse常用操作 1:安装 A:解压      B:复制到指定的目录(不要有中文,和其他非法字符) 2:使用     A:打开软件的界面      B:新建一个项目(工程)      C:在 ...

  4. (实用篇)jQuery+PHP+MySQL实现二级联动下拉菜单

    二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动.本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果. 先看下效果 大类:  前端技术 ...

  5. postfix启动脚本

    使用该脚本是一定要注意postfix安装路径 #!/bin/bash # # postfix Postfix Mail Transger Agent # # chkconfig: # descript ...

  6. 重放攻击(Replay Attacks)

    重放攻击(Replay Attacks)1.什么是重放攻击顾名思义,重复的会话请求就是重放攻击.可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器. 2.重放攻击的危害请求被 ...

  7. python Data type conversation

    >>> repr(111.5) '111.5' >>> repr(10) ' >>> int(") 11 >>> lo ...

  8. OC基础—多态(超级简单)

    前言: oc中的指针类型变量有两个:一个是编译时类型,一个是运行时类型,编译时类型由声明该变量是使用的类型决定,运行时类型由实际赋给该变量的对象决定.如果编译时类型和运行时类型不一致,就有可能出现多态 ...

  9. PHP远程下载图片损坏问题

    代码如下: <?php header("Content-type=html/text;charset=utf-8"); function download($file_nam ...

  10. No.5__C#

    One month 今天是个有纪念意义的日子,2015-4-23.今天是实习的第一个月,算是成就达成吧.虽然,除去了周末六日和清明什么的,只剩下20多天了,但是,还是好开心 啊,毕竟是第一次参加工作, ...