在SQLServer中保存和输出图片
2008-04-02 10:51:23来源:互联网 阅读 ()
cashcho(翻译)
关键字 SQL Server images
出处 http://www.bipinjoshi.com/
介绍
有时候我们需要保存一些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;www.c hinaitpower.comlOPhU7 int imgdatalen = File1.PostedFile.ContentLength;www.c hinaitpower.comlOPhU7 string imgtype = File1.PostedFile.ContentType;www.c hinaitpower.comlOPhU7 string imgtitle = TextBox1.Text;www.c hinaitpower.comlOPhU7 byte[] imgdata = new byte[imgdatalen];www.c hinaitpower.comlOPhU7 int n = imgdatastream.Read(imgdata,0,imgdatalen);www.c hinaitpower.comlOPhU7 string connstr=www.c hinaitpower.comlOPhU7 ((NameValueCollection)Context.GetConfigwww.c hinaitpower.comlOPhU7 ("appSettings"))["connstr"];www.c hinaitpower.comlOPhU7 SqlConnection connection = new SqlConnection(connstr);www.c hinaitpower.comlOPhU7 SqlCommand command = new SqlCommandwww.c hinaitpower.comlOPhU7 ("INSERT INTO ImageStore(imgtitle,imgtype,imgdata)www.c hinaitpower.comlOPhU7 VALUES ( @imgtitle, @imgtype,@imgdata )", connection );www.c hinaitpower.comlOPhU7 www.c hinaitpower.comlOPhU7 SqlParameter paramTitle = new SqlParameterwww.c hinaitpower.comlOPhU7 ("@imgtitle", SqlDbType.VarChar,50 );www.c hinaitpower.comlOPhU7 paramTitle.Value = imgtitle;www.c hinaitpower.comlOPhU7 command.Parameters.Add( paramTitle);www.c hinaitpower.comlOPhU7 www.c hinaitpower.comlOPhU7 SqlParameter paramData = new SqlParameterwww.c hinaitpower.comlOPhU7 ( "@imgdata", SqlDbType.Image );www.c hinaitpower.comlOPhU7 paramData.Value = imgdata;www.c hinaitpower.comlOPhU7 command.Parameters.Add( paramData );www.c hinaitpower.comlOPhU7 www.c hinaitpower.comlOPhU7 SqlParameter paramType = new SqlParameterwww.c hinaitpower.comlOPhU7 ( "@imgtype", SqlDbType.VarChar,50 );www.c hinaitpower.comlOPhU7 paramType.Value = imgtype;www.c hinaitpower.comlOPhU7 command.Parameters.Add( paramType );www.c hinaitpower.comlOPhU7 www.c hinaitpower.comlOPhU7 connection.Open();www.c hinaitpower.comlOPhU7 int numRowsAffected = command.ExecuteNonQuery();www.c hinaitpower.comlOPhU7 connection.Close();www.c hinaitpower.comlOPhU7 |
从数据库中输出图片
现在让我们从数据库中取出我们刚刚保存的图片,在这儿,我们将直接将图片输出至浏览器。您也能够将他保存为一个文档或做任何您想做的。
private void Page_Load(object sender, System.EventArgs e)www.c hinaitpower.comlOPhU7 { 标签: 版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 上一篇: 数据库的备份和恢复 下一篇: UDF在层次型数据处理中的妙用之三
相关文章
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设 网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源 网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它 服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护 软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash 热门词条
最新资讯
热门关注
热门标签
|