通过 Adodb.Stream 可以把数据库的二进制内容写到硬盘上,也可以代替 FSO 读取文件。
| set str = Server.CreateObject("Adodb.Stream") |
| 属性/方法 | 意义 |
|---|---|
| Cancel() | 取消执行挂起的异步 Execute 或 Open 方法的调用 |
| Close() | 关闭对象 |
| CopyTo(destStream,[CharNumber]) | 将对象的数据复制,destStream指向要复制的对象, CharNumber为可选参数,指要复制的字节数,不选为全部复制。 |
| Flush() | |
| LoadFromFile(FileName) | 将FileName指定的文件装入对象中,参数FileName为指定的用户名 |
| Open(Source,[Mode],[Options],[UserName],[Password]) | 打开对象,Sourece 对象源,UserName 用户名,Password 密码 |
| Read([Numbytes]) | 读取指定长度的二进制内容 |
| ReadText([NumChars]) | 读取指定长度的文本 |
| SaveToFile(FileName,[Options]) | 将对象的内容写到FileName指定的文件中,Option: adSaveCreateNotExist =1, adSaveCreateOverWrite =2 |
| setEOS() | |
| SkipLine() | |
| Write(Buffer) | 将指定的数据装入对象中 |
| WriteText(Data,[Options]) | 将指定的文本数据装入对象中,Options: adWriteChar =0, adWriteLine =1 |
| Charset | |
| EOS | |
| LineSeparator | adCR =13,adCRLF =-1,adLF =10 |
| Mode | 指定或返回模式 |
| Size | 对象内数据的大小 |
| State | 返加对象状态是否打开 |
| Type | 指定或返回的数据类型: adTypeBinary =1,adTypeText =2 |
| Position | 指定或返回对象内数据的当前指针 |
| 属性/方法 | 值 | 意义 |
|---|---|---|
| adModeRead | 1 | 读 |
| adModeReadWrite | 3 | 读写 |
| adModeRecursive | 4194304 | |
| adModeShareDenyNone | 16 | |
| adModeShareDenyRead | 4 | |
| adModeShareDenyWrite | 8 | |
| adModeShareExclusive | 12 | |
| adModeUnknown | 0 | |
| adModeWrite | 2 | 写 |
| 属性/方法 | 值 | 意义 |
|---|---|---|
| adOpenStreamAsync | 1 | |
| adOpenStreamFromRecord | 4 | |
| adOpenStreamUnspecified | -1 |
示例:数据库数据存入文件
set cn=connectmssql()
set rec=cn.execute ("select top 1 * from files")
set stm = server.createobject("adodb.stream")
stm.mode=3
stm.type=1
stm.open
stm.write rec("内容").getchunk(rec("尺寸"))
stm.savetofile "c:\" & rec("文件名"),2
示例:读取并返回一个文件
sub readfileTest(URL)
set srmObj = server.CreateObject("Adodb.Stream")
srmObj.type=1 ' 二进制
srmObj.mode=3 ' 读写
srmObj.open ' 打开
srmObj.LoadFromFile URL ' 载入文件内容
srmObj.Position = 0 ' 设置指针位置
indexcontent = srmObj.read() ' 读出内容
srmObj.close ' 关闭
response.contenttype = "Microsoft Word 应用程序" ' 设置输出格式为 WORD
response.addheader "Content-Disposition","inline; filename=a.doc" ' 设置在浏览器打开
response.binarywrite indexcontent ' 输出文件内容
end sub吉公网安备 22020202000301号