仓酷云
标题:
ASP网页编程之在SQL Server中保留和输入图片
[打印本页]
作者:
愤怒的大鸟
时间:
2015-1-16 23:22
标题:
ASP网页编程之在SQL Server中保留和输入图片
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件server
先容
偶然候我们必要保留一些binarydata进数据库。SQLServer供应一个叫做image的特别数据范例供我们保留binarydata。Binarydata能够是图片、文档等。在这篇文章中我们将看到怎样在SQLServer中保留和输入图片。
建表
为了实验这个例子你必要一个含无数据的table(你能够在如今的库中创立它,也能够创立一个新的数据库),上面是它的布局:
ColumnName
Datatype
Purpose
ID
Integer
identitycolumnPrimarykey
IMGTITLE
Varchar(50)
Storessomeuserfriendlytitletoidentitytheimage
IMGTYPE
Varchar(50)
Storesimagecontenttype.ThiswillbesameasrecognizedcontenttypesofASP.NET
IMGDATA
Image
Storesactualimageorbinarydata.
保留images进SQLServer数据库
为了保留图片到table你起首得从客户端上传它们到你的web服务器。你能够创立一个webform,用TextBox失掉图片的题目,用HTMLFileServerControl失掉图片文件。确信你设定了Form的encType属性为multipart/form-data。
Streamimgdatastream=File1.PostedFile.InputStream;
intimgdatalen=File1.PostedFile.ContentLength;
stringimgtype=File1.PostedFile.ContentType;
stringimgtitle=TextBox1.Text;
byte[]imgdata=newbyte[imgdatalen];
intn=imgdatastream.Read(imgdata,0,imgdatalen);
stringconnstr=
((NameValueCollection)Context.GetConfig
("appSettings"))["connstr"];
SqlConnectionconnection=newSqlConnection(connstr);
SqlCommandcommand=newSqlCommand
("INSERTINTOImageStore(imgtitle,imgtype,imgdata)
VALUES(@imgtitle,@imgtype,@imgdata)",connection);
SqlParameterparamTitle=newSqlParameter
("@imgtitle",SqlDbType.VarChar,50);
paramTitle.Value=imgtitle;
command.Parameters.Add(paramTitle);
SqlParameterparamData=newSqlParameter
("@imgdata",SqlDbType.Image);
paramData.Value=imgdata;
command.Parameters.Add(paramData);
SqlParameterparamType=newSqlParameter
("@imgtype",SqlDbType.VarChar,50);
paramType.Value=imgtype;
command.Parameters.Add(paramType);
connection.Open();
intnumRowsAffected=command.ExecuteNonQuery();
connection.Close();
从数据库中输入图片
如今让我们从数据库中掏出我们方才保留的图片,在这儿,我们将间接将图片输入至扫瞄器。你也能够将它保留为一个文件或做任何你想做的。
privatevoidPage_Load(objectsender,System.EventArgse)
{
stringimgid=Request.QueryString["imgid"];
stringconnstr=((NameValueCollection)
Context.GetConfig("appSettings"))["connstr"];
stringsql="SELECTimgdata,imgtypeFROMImageStoreWHEREid="
+imgid;
SqlConnectionconnection=newSqlConnection(connstr);
SqlCommandcommand=newSqlCommand(sql,connection);
connection.Open();
SqlDataReaderdr=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。
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
作者:
因胸联盟
时间:
2015-1-20 09:36
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
作者:
若相依
时间:
2015-1-27 09:37
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
作者:
爱飞
时间:
2015-2-5 04:21
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
作者:
柔情似水
时间:
2015-2-11 04:13
不能只是将它停留在纸上谈兵的程度上。
作者:
莫相离
时间:
2015-3-1 20:57
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者:
第二个灵魂
时间:
2015-3-10 23:31
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
作者:
飘飘悠悠
时间:
2015-3-17 16:07
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2