组件:Adodb.Stream的属性和方法

内容: 组件:"Adodb.Stream" 
有下列方法: 
Cancel 方法 
使用方法如下 
Object.Cancel 
说明:取消执行挂起的异步 Execute 或 Open 方法的调用。 
Close 方法 
使用方法如下 
Object.Close 
:关闭对像 
CopyTo 方法 
使用方法如下 
Object.CopyTo(destStream,[CharNumber]) 
说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。 
Flush 方法 
使用方法如下 
Object.Flush 
说明: 
LoadFromFile 方法 
使用方法如下 
Object.LoadFromFile(FileName) 
说明:将FileName指定的文件装入对像中,参数FileName为指定的用户名。 
Open 方法 
使用方法如下 
Object.Open(Source,[Mode],[Options],[UserName],[Password]) 
说明:打开对像, 
参数说明:Sourece 对像源,可不指定 
Mode 指定打开模式,可不指定,可选参数如下: 
adModeRead =1 
adModeReadWrite =3 
adModeRecursive =4194304 
adModeShareDenyNone =16 
adModeShareDenyRead =4 
adModeShareDenyWrite =8 
adModeShareExclusive =12 
adModeUnknown =0 
adModeWrite =2 
Options 指定打开的选项,可不指定,可选参数如下: 
adOpenStreamAsync =1 
adOpenStreamFromRecord =4 
adOpenStreamUnspecified=-1 
UserName 指定用户名,可不指定。 
Password 指定用户名的密码 
Read 方法 
使用方法如下: 
Object.Read(Numbytes) 
说明:读取指定长度的二进制内容。 
参数说明:Numbytes指定的要读取的找度,不指定则读取全部。 

ReadText 方法 
使用方法如下: 
Object.ReadText(NumChars) 
说明:读取指定长度的文本 
参数说明:NumChars指定的要读取的找度,不指定则读取全部。 

SaveToFile 方法 
使用方法如下: 
Object.SaveToFile(FileName,[Options]) 
说明:将对像的内容写到FileName指定的文件中 
参数说明:FileName指定的文件 
Options 存取的选项,可不指定,可选参数如下: 
adSaveCreateNotExist =1 
adSaveCreateOverWrite =2 

SetEOS 方法 
使用方法如下: 
Object.setEOS() 
说明: 
SkipLine 方法 
使用方法如下: 
Object.SkipLine() 
说明: 
Write 方法 
使用方法如下: 
Object.Write(Buffer) 
说明:将指定的数据装入对像中。 
参数说明:Buffer 为指定的要写入的内容。 
WriteText 方法 
使用方法如下: 
Object.Write(Data,[Options]) 
说明:将指定的文本数据装入对像中。 
参数说明:Data 为指定的要写入的内容。 
Options 写入的选项,可不指定,可选参数如下: 
adWriteChar =0 
adWriteLine =1 


有下列属性: 
Charset 
EOS 返回对像内数据是否为空。 

LineSeparator 指定换行格式,可选参数有 
adCR =13 
adCRLF =-1 
adLF =10 

Mode 指定或返加模式。 

Position 指定或返加对像内数据的当前指针。 

Size 返回对像内数据的大小。 

State 返加对像状态是否打开。 

Type 指定或返回的数据类型,可选参数为: 
adTypeBinary =1 
adTypeText =2  


用Adodb.Stream将以二进制方式保存在数据库中的文件保存到硬盘
window.attachEvent("onload",function (){AutoSizeDIV('CODE_6635')}) 程序代码:

内容: 用Adodb.Stream将以二进制方式保存在数据库中的文件保存到硬盘

对于上传的数据库中的文件有的时候需要保存成硬盘上的文件,下面的代码以ACCESS数据库为例,演示怎样通过Adodb.Stream将文件保存到硬盘 

表:Demo的结构 
======================================= 
id: 自动编号 
filename:文本 
data: OLE 对象 

代码 
======================================= 
<% 
Dim Conn,ConnStr,Rs,Sql,MyStream 

ConnStr="DBQ=" + Server.Mappath("Demo.mdb") + ";DRIVER={Microsoft Access Driver (*.mdb)};" 

Set Conn = Server.CreateObject("Adodb.Connection") 

Conn.Open ConnStr 

Sql = "select * from demo where id=1" 

Set Rs = Server.CreateObject("Adodb.RecordSet") 

Rs.Open Sql,Conn,1,3 

Set MyStream=Server.CreateObject("Adodb.Stream") 

MyStream.Type = 1 

MyStream.Open 

MyStream.Write Rs("data").GetChunk(rs("data").ActualSize-78) 

MyStream.SaveToFile "c:/" & Rs("fileName") 

Rs.Close 

Set Rs = Nothing 

Conn.Close 

Set Conn = Nothing 
%> 


 

标题: 用Adodb.Stream将数据库中二进制文件保存到..

内容: 用Adodb.Stream将以二进制方式保存在数据库中的文件保存到硬盘

对于上传的数据库中的文件有的时候需要保存成硬盘上的文件,下面的代码以ACCESS数据库为例,演示怎样通过Adodb.Stream将文件保存到硬盘 

表:Demo的结构 
======================================= 
id: 自动编号 
filename:文本 
data: OLE 对象 

代码 
======================================= 
<% 
Dim Conn,ConnStr,Rs,Sql,MyStream 

ConnStr="DBQ=" + Server.Mappath("Demo.mdb") + ";DRIVER={Microsoft Access Driver (*.mdb)};" 

Set Conn = Server.CreateObject("Adodb.Connection") 

Conn.Open ConnStr 

Sql = "select * from demo where id=1" 

Set Rs = Server.CreateObject("Adodb.RecordSet") 

Rs.Open Sql,Conn,1,3 

Set MyStream=Server.CreateObject("Adodb.Stream") 

MyStream.Type = 1 

MyStream.Open 

MyStream.Write Rs("data").GetChunk(rs("data").ActualSize-78) 

MyStream.SaveToFile "c:/" & Rs("fileName") 

Rs.Close 

Set Rs = Nothing 

Conn.Close 

Set Conn = Nothing 
%> 


利用ADODB.Stream使用浏览器下载服务器文件..
window.attachEvent("onload",function (){AutoSizeDIV('CODE_7643')}) 程序代码:

内容: download.asp?file=相对路径的文件
就可以把这个文件下载下来

<%

call downloadFile(replace(replace(Request("file"),"/",""),"/",""))

Function downloadFile(strFile)
' make sure you are on the latest MDAC version for this to work
' -------------------------------------------------------------


' get full path of specified file
strFilename = server.MapPath(strFile)


' clear the buffer
Response.Buffer = True
Response.Clear

'create stream
Set s = Server.CreateObject("ADODB.Stream")
s.Open

'Set as binary
s.Type = 1

'load in the file
on error resume next


' check the file exists
Set fso = Server.CreateObject("Scripting.FileSystemObject")
if not fso.FileExists(strFilename) then
Response.Write("<h1>Error:</h1>" & strFilename & " does not exist<p>")
Response.End
end if


' get length of file
Set f = fso.GetFile(strFilename)
intFilelength = f.size

s.LoadFromFile(strFilename)
if err then
Response.Write("<h1>Error: </h1>" & err.Description & "<p>")
Response.End
end if

' send the headers to the users browser
Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name
Response.AddHeader "Content-Length", intFilelength
Response.CharSet = "UTF-8"
Response.ContentType = "application/octet-stream"

' output the file to the browser
Response.BinaryWrite s.Read
Response.Flush


' tidy up
s.Close
Set s = Nothing


End Function

%> 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值