|
5) Request.TotalBytes方法
● Request.TotalBytes方法返回从客户端读取到的数据的字节数,这个值跟上面所提到的number相对应,可以大于或等于number值。
● 语法
number= Request.TotalBytes
大体了解了一些方法及其使用方法后,接下来我们就开始设计数据库和相关编写代码了。
第一步:数据库的设计(以Ms SQL Server7为例):
Create table img --创建用来存储图片的表,命名为img
(
id int identity(1,1) not null,
img image
)
第二步:程序编写,其中省略了用户输入界面,这里只给出很重要的两个文件即图片上传处理(processimg.asp)和显示图片(ShowImg.asp)文件。
1) processimg.asp文件代码:
以下是引用片段: 〈% 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) ‘创建对象实例 Set imgConn=Server.CreateObject(“ADODB.Connection”) StrConn=”Driver={SQL Server};Server=ServerName;”& _ “Uid=xxxx;Pwd=xxxx;DataBase=DataBaseName” imgConn.open strConn Set Rs= Server.CreateObject(“ADODB.RecordSet”) Sql=”Select * From img Where id is null” Rs.open sql,imgConn,1,3 ‘追加数据到数据库 Rs.AddNew Rs(“img”).AppendChunk myData Rs.Update ‘关闭和释放对象 Rs.close ImgConn.close Set Rs=Nothing Set ImgConn=Nothing %〉 2) ShowImg.asp文件代码: 〈% Response.Expires = 0 Response.buffer=True Response.clear ‘创建对象实例 Set imgConn=Server.CreateObject(“ADODB.Connection”) StrConn=”Driver={SQL Server};Server=ServerName;”& _ “Uid=xxxx;Pwd=xxxx;DataBase=DataBaseName” imgConn.open strConn Set Rs= Server.CreateObject(“ADODB.RecordSet”) Sql=”Select img From img Where id=1” 这里的id可以使用Request(“id”)获得 Rs.open sql,imgConn,1,1 Response.ContentType=”image/*” Response.BinaryWrite Rs.(“img”).GetChunk(7500000) ‘关闭和释放对象 Rs.close ImgConn.close Set Rs=Nothing Set ImgConn=Nothing %〉 |
至此,本文对如何使用ASP上传图片的原理和示例都讲完了,有什么不妥的地方请各位指正,谢谢!同时希望本文能够确实能为需要这方面帮助的网友提供实质性的帮助。 上一页 [1] [2] |