ASP网页编程之实例剖析:使用ASP把图片上传到数据库
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天上传|数据|数据库ASP(ActiveServerPages)是Microsoft很早就推出的一种WEB使用程序办理计划,也是尽年夜多半处置网站开辟职员很熟习的一个对照复杂的编程情况。经由过程ASP我们能够创立功效壮大的静态的WEB使用程序。ASP固然功效很壮大,但有些功效用纯ASP代码完成不了,为了能包管开辟出功效加倍壮大的WEB使用程序,我们能够借助挪用COM组件。在一样平常事情中,比方开辟一个“商品网上发卖体系”吧,为了使主顾对商品的表面有所懂得,也就是主顾在看商品的笔墨先容的同时在笔墨的中间有该商品的图片加以申明,如许主顾就能够对该商品有个体系的懂得,对倾销商品有很年夜的匡助。以是我们在开辟体系时固然就要到场图片处置模块,即怎样把图片上传到服务器(图片能够放在WEB服务器上某一个文件夹里也能够放在SQLServer服务器里)和怎样让上传的图片在扫瞄器端显现出来,这都是开辟职员要思索到的成绩。
上传图片到服务器有多种办法,可使用文件上传组件也能够利用纯ASP代码来完成。在CSDN的WEB版ASP上常常有网友问如许的成绩“怎样使用ASP把图片上传到数据库里”,为了便利CSDN必要懂得这方面的常识,这篇文章将具体解说利用ASP上传图片的做法并给出代码,以飨读者。
起首懂得一下在程序顶用到的各类工具及其语法:
1)Request.BinaryRead()办法
●利用Request.BinaryRead()办法能够猎取提交的文件数据
●语法
VarReValue=Request.BinaryRead(number)
变量VarReValue前往值保留从客户端读取到的二进制数据;
参数number指明要从客户端读取的二进制数据量的巨细。
2)Response.BinaryWrite()办法
●利用Response.BinaryWrite()办法能够从数据库中猎取图片数据并显现到客户真个扫瞄器中。
●语法
Response.BinaryWritedata
参数data是要写进客户端扫瞄器中的二进制数据包。
3)AppendChunk办法
●AppendChunk办法的感化是将二进制数据追加到Field或Parameter工具。
●语法
object.AppendChunkdata
参数data为要追加到Field或Parameter工具中的数据包。
4)GetChunk办法
●GetChunk办法前往二进制数据的内容。
●语法
object.GetChunk(size)
参数size指明要前往二进制数据的长度,能够是长整型表达式。
5)Request.TotalBytes办法
●Request.TotalBytes办法前往从客户端读取到的数据的字节数,这个值跟下面所提到的number绝对应,能够年夜于或即是number值。
●语法
number=Request.TotalBytes
大致懂得了一些办法及其利用办法后,接上去我们就入手下手计划数据库和相干编写代码了。
第一步:数据库的计划(以MsSQLServer7为例):
Createtableimg--创立用来存储图片的表,定名为img
(
idintidentity(1,1)notnull,
imgimage
)
第二步:程序编写,个中省略了用户输出界面,这里只给出很主要的两个文件即图片上传处置(processimg.asp)和显现图片(ShowImg.asp)文件。
1)processimg.asp文件代码:
<P> 〈%
Response.Buffer=True
ImageSize=Request.TotalBytes‘猎取提交数据量的总字节数
ImageData=Request.BinaryRead(ImageSize)‘保留从客户端读取到的数据
‘优化读取到的二进制数据
BnCrLf=chrB(13)&chr(10)
Divider=LeftB(ImageData,Clng(InstrB(ImageData,BnCrLf))-1)
Dstart=InstrB(ImageData,BnCrLf&BnCrLf)+4
Dend=InstrB(Dstart+1,ImageData,Divider)-Dstart
MyData=MidB(ImageData,Dstart,Dend)
‘创立工具实例
SetimgConn=Server.CreateObject(“ADODB.Connection”)
StrConn=”Driver={SQLServer};Server=ServerName;”&_
“Uid=xxxx;Pwd=xxxx;DataBase=DataBaseName”
imgConn.openstrConn
SetRs=Server.CreateObject(“ADODB.RecordSet”)
Sql=”Select*FromimgWhereidisnull”
Rs.opensql,imgConn,1,3
‘追加数据到数据库
Rs.AddNew
Rs(“img”).AppendChunkmyData
Rs.Update
‘封闭和开释工具
Rs.close
ImgConn.close
SetRs=Nothing
SetImgConn=Nothing
%〉
2)ShowImg.asp文件代码:
〈%
Response.Expires=0
Response.buffer=True
Response.clear
‘创立工具实例
SetimgConn=Server.CreateObject(“ADODB.Connection”)
StrConn=”Driver={SQLServer};Server=ServerName;”&_
“Uid=xxxx;Pwd=xxxx;DataBase=DataBaseName”
imgConn.openstrConn
SetRs=Server.CreateObject(“ADODB.RecordSet”)
Sql=”SelectimgFromimgWhereid=1”这里的id可使用Request(“id”)取得
Rs.opensql,imgConn,1,1
Response.ContentType=”image/*”
Response.BinaryWriteRs.(“img”).GetChunk(7500000)
‘封闭和开释工具
Rs.close
ImgConn.close
SetRs=Nothing
SetImgConn=Nothing
%〉
至此,本文对怎样利用ASP上传图片的道理和示例都讲完了,有甚么不当的中央请列位斧正,感谢!同时但愿本文可以的确能为必要这方面匡助的网友供应本色性的匡助。
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]