知识大全 ASP.NET如何存取 SQLServer数据库图片
Posted 类型
篇首语:白日放歌须纵酒,青春作伴好还乡。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET如何存取 SQLServer数据库图片相关的知识,希望对你有一定的参考价值。
ASP.NET如何存取 SQLServer数据库图片 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL Server提供了一个特别的数据类型 image 它是一个包含binary数据的类型 下边这个例子就向你展示了如何将文本或照片放入到数据库中的办法 在这篇文章中我们要看到如何在SQL Server中存储和读取图片 建立一个表 在SQL SERVER中建立这样结构的一个表
列名 类型 目的 ID Integer 主键ID IMGTITLE Varchar( ) 图片的标题 IMGTYPE Varchar( ) 图片类型 ASP NET要以辨认的类型 IMGDATA Image 用于存储二进制数据 IMGTYPE Varchar( ) 图片类型 ASP NET要以辨认的类型 IMGDATA Image 用于存储二进制数据
存储图片到SQL SERVER数据库中 为了能存储到表中 你首先要上传它们到你的WEB 服务器上 你可以开发一个web form 它用来将客户端中TextBox web control中的图片入到你的WEB服务器上来 将你的 encType 属性设置为 myltipart/formdata Stream imgdatastream = File PostedFile InputStream; int imgdatalen = File PostedFile ContentLength; string imgtype = File PostedFile ContentType; string imgtitle = TextBox Text; byte[] imgdata = new byte[imgdatalen]; int n = imgdatastream Read(imgdata imgdatalen); string connstr=((NameValueCollection)Context GetConfig( appSettings ))[ connstr ]; SqlConnection connection = new SqlConnection(connstr); SqlCommand mand = new SqlCommand ( INSERT INTO ImageStore(imgtitle imgtype imgdata) VALUES ( @imgtitle @imgtype @imgdata ) connection ); SqlParameter paramTitle = new SqlParameter ( @imgtitle SqlDbType VarChar ); paramTitle Value = imgtitle; mand Parameters Add( paramTitle); SqlParameter paramData = new SqlParameter( @imgdata SqlDbType Image ); paramData Value = imgdata; mand Parameters Add( paramData ); SqlParameter paramType = new SqlParameter( @imgtype SqlDbType VarChar ); paramType Value = imgtype; mand Parameters Add( paramType ); connection Open(); int numRowsAffected = mand ExecuteNonQuery(); connection Close(); 从数据库中恢复读取 现在让我们来从SQL Server中读取我们放入的数据吧!我们将要输出图片到你的浏览器上 你也可以将它存放到你要的位置 private void Page_Load(object sender System EventArgs e) string imgid =Request QueryString[ imgid ]; string connstr=((NameValueCollection) Context GetConfig( appSettings ))[ connstr ]; string sql= SELECT imgdata imgtype FROM ImageStore WHERE id = + imgid; SqlConnection connection = new SqlConnection(connstr); SqlCommand mand = new SqlCommand(sql connection); connection Open(); SqlDataReader dr = mand ExecuteReader(); if(dr Read()) Response ContentType = dr[ imgtype ] ToString(); Response BinaryWrite( (byte[]) dr[ imgdata ] ); connection Close(); 要注意的是Response BinaryWrite 而不是Response Write
下面给大家一个用于C# Winform的存入 读取程序 其中不同请大家自己比较!(为了方便起见 我将数据库字段简化为二个 imgtitle和imgdata using System; using System Drawing; using System Collections; using System ComponentModel; using System Windows Forms; using System Data; using System IO; using System Data SqlClient; namespace WindowsApplication /// <summary> /// Form 的摘要说明 /// </summary> public class Form : System Windows Forms Form private System Windows Forms Button button ; /// <summary> /// 必需的设计器变量 /// </summary> private System ComponentModel Container ponents = null; private string ConnectionString = Integrated Security=SSPI;Initial Catalog=;Data Source=localhost; ; private SqlConnection conn = null; private SqlCommand cmd = null; private System Windows Forms Button button ; private System Windows Forms PictureBox pic ; private System Windows Forms OpenFileDialog openFileDialog ; private string sql = null; private System Windows Forms Label label ; private string nowId=null; public Form () // // Windows 窗体设计器支持所必需的 // InitializeComponent(); conn = new SqlConnection(ConnectionString); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // /// <summary> /// 清理所有正在使用的资源 /// </summary> protected override void Dispose( bool disposing ) if (conn State == ConnectionState Open) conn Close(); if( disposing ) if (ponents != null) ponents Dispose(); base Dispose( disposing ); #region Windows Form Designer generated code /// <summary> /// 设计器支持所需的方法 不要使用代码编辑器修改 /// 此方法的内容 /// </summary> private void InitializeComponent() this button = new System Windows Forms Button(); this pic = new System Windows Forms PictureBox(); this button = new System Windows Forms Button(); this openFileDialog = new System Windows Forms OpenFileDialog(); this label = new System Windows Forms Label(); this SuspendLayout(); // // button // this button Location = new System Drawing Point( ); this button Name = button ; this button Size = new System Drawing Size( ); this button TabIndex = ; this button Text = 加入新的图片 ; this button Click += new System EventHandler(this button _Click); // // pic // this pic Location = new System Drawing Point( ); this pic Name = pic ; this pic Size = new System Drawing Size( ); this pic TabIndex = ; this pic TabStop = false; // // button // this button Location = new System Drawing Point( ); this button Name = button ; this button Size = new System Drawing Size( ); this button TabIndex = ; this button Text = 从数据库中恢复图像 ; this button Click += new System EventHandler(this button _Click); // // openFileDialog // this openFileDialog Filter = 图像文件(* jpg * bmp * gif)|* jpg|* bmp|* gif ; // // label // this label Location = new System Drawing Point( ); this label Name = label ; this label Size = new System Drawing Size( ); this label TabIndex = ; // // Form // this AutoScaleBaseSize = new System Drawing Size( ); this ClientSize = new System Drawing Size( ); this Controls AddRange(new System Windows Forms Control[] this label this button this pic this button ); this Name = Form ; this Text = Form ; this Load += new System EventHandler(this Form _Load); this ResumeLayout(false); #endregion
cha138/Article/program/net/201311/11512相关参考
知识大全 在ASP.net 中从sqlserver检索(retrieve)图片
在ASP.net中从sqlserver检索(retrieve)图片 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
.Net在SqlServer中的图片存取 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文总结
.Net在SqlServer中的图片存取技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文
Asp.net把图片存入数据库和读取图片的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 网
如何在ASP.Net中把图片存入数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一介绍
知识大全 用asp.net还原与恢复sqlserver数据库
上次做了个项目涉及到数据库的还原和恢复到网上找了一下是利用SQLDMO实现的只要添加SQLDMO引用就好了然后利用下边的类的方法就可以实现了 我把原作者的类扩充了一下可以自动识别nfig里的数据
知识大全 基于SQL Server的Asp.net图片存储技术
基于SQLServer的Asp.net图片存储技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 ADO.NET Entity Framework存取数据库中图片
ADO.NETEntityFramework存取数据库中图片 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
知识大全 ADO.NET Entity Framework存取数据库中的图片
ADO.NETEntityFramework存取数据库中的图片 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
知识大全 asp.net中利用ashx实现图片防盗链的原理分析
直接分析盗链原理看下面用watch截获的发送的数据GET/Imgashx?img=svn_workgifHTTP/Accept:*/*Referer:AcceptLanguage:zhcnUACPU: