net在sqlserver中的图片存取技术(例子在管理里inoutimg) |
|
www.nanhushi.com 佚名 不详 |
本文总结如何在.Net WinForm和.Net WebForm(asp.net)中将图片存入SQL Server中并读取显示的方法 。 1.使用asp.net将图片上传并存入SQL Server中,然后从SQL Server中读取并显示出来: 1)上传并存入SQL Server 数据库结构 create table test { id identity(1,1), FImage image } 相关的存储过程 Create proc UpdateImage ( @UpdateImage Image ) As Insert Into test(FImage) values(@UpdateImage) GO 在UpPhoto.aspx文件中添加如下:
然后在后置代码文件UpPhoto.aspx.cs添加btnAdd按钮的单击事件处理代码: private void btnAdd_Click(object sender, System.EventArgs e) { //获得图象并把图象转换为byte[] HttpPostedFile upPhoto=UpPhoto.PostedFile; int upPhotoLength=upPhoto.ContentLength; byte[] PhotoArray=new Byte[upPhotoLength]; Stream PhotoStream=upPhoto.InputStream; PhotoStream.Read(PhotoArray,0,upPhotoLength); //连接数据库 SqlConnection conn=new SqlConnection(); conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa"; SqlCommand cmd=new SqlCommand("UpdateImage",conn); cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.Add("@UpdateImage",SqlDbType.Image); cmd.Parameters["@UpdateImage"].Value=PhotoArray; //如果你希望不使用存储过程来添加图片把上面四句代码改为: //string strSql="Insert into test(FImage) values(@FImage)"; //SqlCommand cmd=new SqlCommand(strSql,conn); //cmd.Parameters.Add("@FImage",SqlDbType.Image); //cmd.Parameters["@FImage"].Value=PhotoArray; conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); } 2)从SQL Server中读取并显示出来 在需要显示图片的地方添加如下代码:
ShowPhoto.aspx主体代码: private void Page_Load(object sender, System.EventArgs e) { if(!Page.IsPostBack) { SqlConnection conn=new SqlConnection() conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa"; string strSql="select * from test where id=2";//这里假设获取id为2的图片 SqlCommand cmd=new SqlCommand(strSql,conn); conn.Open(); SqlDataReader reader=cmd.ExecuteReader(); reader.Read(); Response.ContentType="application/octet-stream"; Response.BinaryWrite((Byte[])reader["FImage"]); Response.End(); reader.Close(); } }
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: Word和WPS通用的文档排版技巧 下一篇文章: sqlserver里面可能经常会用到的日期格式转换方法 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|