频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站服务器架设维护教程 -> 服务器数据库应用 -> 在SQL Server中保存和输出图片

在SQL Server中保存和输出图片

作者:未知  来源:转载  发布时间:2005-9-15 0:12:11  发布人:acx

减小字体 增大字体

     介绍
  
  
  
   有时候我们需要保存一些binary data进数据库。SQL Server提供一个叫做image的特殊数据类型供我们保存binary data。Binary data可以是图片、文档等。在这篇文章中我们将看到如何在SQL Server中保存和输出图片。
  
  
  
  建表
  
  
  
   为了试验这个例子你需要一个含有数据的table(你可以在现在的库中创建它,也可以创建一个新的数据库),下面是它的结构:
  
  
  
  Column Name
   Datatype
   Purpose
  
  ID
   Integer
   identity column Primary key
  
  IMGTITLE
   Varchar(50)
   Stores some user friendly title to identity the image
  
  IMGTYPE
   Varchar(50)
   Stores image content type. This will be same as recognized content types of ASP.NET
  
  IMGDATA
   Image
   Stores actual image or binary data.
  
  
  
  
  
  保存images进SQL Server数据库
  
  
  
   为了保存图片到table你首先得从客户端上传它们到你的web服务器。你可以创建一个web form,用TextBox得到图片的标题,用HTML File Server Control得到图片文件。确信你设定了Form的encType属性为multipart/form-data。
  
  
  
  Stream imgdatastream = File1.PostedFile.InputStream;
  
  int imgdatalen = File1.PostedFile.ContentLength;
  
  string imgtype = File1.PostedFile.ContentType;
  
  string imgtitle = TextBox1.Text;
  
  byte[] imgdata = new byte[imgdatalen];
  
  int n = imgdatastream.Read(imgdata,0,imgdatalen);
  
  string connstr=
  
  ((NameValueCollection)Context.GetConfig
  
  ("appSettings"))["connstr"];
  
  SqlConnection connection = new SqlConnection(connstr);
  
  SqlCommand command = new SqlCommand
  
  ("INSERT INTO ImageStore(imgtitle,imgtype,imgdata)
  
  VALUES ( @imgtitle, @imgtype,@imgdata )", connection );
  
  
  
  SqlParameter paramTitle = new SqlParameter
  
  ("@imgtitle", SqlDbType.VarChar,50 );
  
  paramTitle.Value = imgtitle;
  
  command.Parameters.Add( paramTitle);
  
  
  
  SqlParameter paramData = new SqlParameter
  
  ( "@imgdata", SqlDbType.Image );
  
  paramData.Value = imgdata;
  
  command.Parameters.Add( paramData );
  
  
  
  SqlParameter paramType = new SqlParameter
  
  ( "@imgtype", SqlDbType.VarChar,50 );
  
  paramType.Value = imgtype;
  
  command.Parameters.Add( paramType );
  
  
  
  connection.Open();
  
  int numRowsAffected = command.ExecuteNonQuery();
  
  connection.Close();
  
  
  
  从数据库中输出图片
  
  
  
   现在让我们从数据库中取出我们刚刚保存的图片,在这儿,我们将直接将图片输出至浏览器。你也可以将它保存为一个文件或做任何你想做的。
  
  
  
  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 command = new SqlCommand(sql, connection);
  
  connection.Open();
  
  SqlDataReader dr = command.ExecuteReader();
  
  if(dr.Read())
  
  {
  
   Response.ContentType = dr["imgtype"].ToString();
  
   Response.BinaryWrite( (byte[]) dr["imgdata"] );
  
  }
  
  connection.Close();
  
  }
  
  
  
   在上面的代码中我们使用了一个已经打开的数据库,通过datareader选择images。接着用Response.BinaryWrite代替Response.Write来显示image文件。
  
  
  
   希望您喜欢这些文章,如有任何意见和建议请致信webmaster@bipinjoshi.com。
  


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
下一篇文章:ASP进度条
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· Photoshop经典CG鼠绘教程..
· Oracle常見問題集(四)
· 熊猫"作者交出专杀工具 ..
· ASP基础教程:ASP内建对..
· 三种Web开发主流技术的评..
· 正则表达式简介(微软)..
· Flash MX2004入门与进阶..
· Dreamweaver MX 2004从零..
· Flash 游戏制作:抢手棋..
· Photoshop CS应用实例 绘..
· PHP初学者头疼问题总结
· ASP+学习笔记(三)
· 灵活调用xsl来解析xml文..
· 中国寻人第一人沈浩:做寻..
· AOL可能于2008年上市 Go..
· 实时抓取YAHOO股票报价的..
相关文章
· 在SQL Server集成服务..
· 如何在SQL Server中构建并利..
· asp在SQL SER2k中新建帐号和..
· 把存储在SQL7的image字段的..
· 如何在SQL数据库中得到重复..
· 用PHP和MySQL保存和输出图片..
· 在SQL2000查询中使用XDR的例..
· 如何在sql server系统表中获..
· 在SQL Server的存储过程中调..
· asp在SQL SER2k中新建帐号和..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号