`
songtianbao
  • 浏览: 29525 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Adodb.Stream 组件的使用说明

阅读更多
Adodb.Stream是ADO的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组件的使用说明
Adodb.Stream是ADO的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

========================================================

捎带一个防盗链

原作:possible_Y,载自时代课堂

在浏览器的地址栏里直接输入一个doc或xls或jpg的文件的url路径,那么该文件会直接显示在浏览器里。而在很多时候我们希望能直接弹出下载提示框让用户下载,我们该怎么办呢?这里有两种方法:
1、设置你的服务器的iis,给doc等后缀名做映射
2、在向客户端发送时设置其contenttype

下面详细说明方法2

<%
Response.Buffer = true
Response.Clear

dim url
Dim fso,fl,flsize
dim Dname
Dim objStream,ContentType,flName,isre,url1
'*********************************************调用时传入的下载文件名
Dname=trim(request("n"))
'******************************************************************
If Dname<>"" Then
'******************************下载文件存放的服务端目录
url=server.MapPath("/")&"\"&Dname
'***************************************************
End If

Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fl=fso.getfile(url)
flsize=fl.size
flName=fl.name
Set fl=Nothing
Set fso=Nothing
%>
<%
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile url


Select Case lcase(Right(flName, 4))
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "image/gif"
Case ".jpg", "jpeg"
ContentType = "image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", "mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", "html"
ContentType = "text/html"
Case ".txt"
ContentType = "text/plain"
Case Else
ContentType = "application/octet-stream"
End Select

Response.AddHeader "Content-Disposition", "attachment; filename=" & flName
Response.AddHeader "Content-Length", flsize

Response.Charset = "UTF-8"
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush
response.Clear()
objStream.Close
Set objStream = Nothing

%>

将下面的东西存成download.asp然后你就可以用<a herf="http://www.knowsky.com/download.asp?n=file.doc">download!</a>来下载同一目录下的file.doc了!

但是这里有个问题就是直接将file.doc路径写在url里是不安全的,所以解决方案应该是将file.doc的路径存到数据库里,同过查找数据库后得到路径

在这个程序的最前面如果加上一个判断:

if instr(Request.ServerVariables("HTTP_REFERER"),"http://你的域名")=0 then
Response.End
end if

就能够很好的防止别人的盗链了

原作:possible_Y,载自时代课堂

在浏览器的地址栏里直接输入一个doc或xls或jpg的文件的url路径,那么该文件会直接显示在浏览器里。而在很多时候我们希望能直接弹出下载提示框让用户下载,我们该怎么办呢?这里有两种方法:
1、设置你的服务器的iis,给doc等后缀名做映射
2、在向客户端发送时设置其contenttype

下面详细说明方法2

<%
Response.Buffer = true
Response.Clear

dim url
Dim fso,fl,flsize
dim Dname
Dim objStream,ContentType,flName,isre,url1
'*********************************************调用时传入的下载文件名
Dname=trim(request("n"))
'******************************************************************
If Dname<>"" Then
'******************************下载文件存放的服务端目录
url=server.MapPath("/")&"\"&Dname
'***************************************************
End If

Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set fl=fso.getfile(url)
flsize=fl.size
flName=fl.name
Set fl=Nothing
Set fso=Nothing
%>
<%
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile url


Select Case lcase(Right(flName, 4))
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "image/gif"
Case ".jpg", "jpeg"
ContentType = "image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", "mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", "html"
ContentType = "text/html"
Case ".txt"
ContentType = "text/plain"
Case Else
ContentType = "application/octet-stream"
End Select

Response.AddHeader "Content-Disposition", "attachment; filename=" & flName
Response.AddHeader "Content-Length", flsize

Response.Charset = "UTF-8"
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush
response.Clear()
objStream.Close
Set objStream = Nothing

%>

将下面的东西存成download.asp然后你就可以用<a herf="http://www.knowsky.com/download.asp?n=file.doc">download!</a>来下载同一目录下的file.doc了!

但是这里有个问题就是直接将file.doc路径写在url里是不安全的,所以解决方案应该是将file.doc的路径存到数据库里,同过查找数据库后得到路径

在这个程序的最前面如果加上一个判断:

if instr(Request.ServerVariables("HTTP_REFERER"),"http://你的域名")=0 then
Response.End
end if

就能够很好的防止别人的盗链了

分享到:
评论

相关推荐

    ASP中Adodb.Stream 组件的使用说明

    ASP 中 Adodb.Stream 组件的使用说明 Adodb.Stream 是 ADO 的 Stream 对象,提供存取二进制数据或者文本流,从而实现对流的读、写和管理等操作。它提供了多种方法来实现流的操作,包括 Cancel、Close、CopyTo、...

    vb adodb.stream 详解

    vb adodb stream aeecss adodb resouse recordset

    adodb.stream 模仿sina的天气预报

    1. AdoDb.Stream组件的使用,包括打开、读取、关闭数据流的操作。 2. 网络请求,可能使用到WinHttpRequest或MSXML2.ServerXMLHTTP组件。 3. 数据解析,主要是JSON或XML格式的数据处理。 4. 界面设计,模仿新浪天气...

    adodb.stream

    `ADODB.Stream`是Microsoft ActiveX Data Objects (ADO)中的一个核心组件,它提供了一种处理数据流的方式,无论数据是文本、二进制还是其他形式。在编程中,特别是VBScript、VBA或者Classic ASP中,`ADODB.Stream`...

    ADODB.Stream组件Charset属性值集合

    ### ADODB.Stream组件Charset属性值集合详解 #### 一、引言 在处理文本数据时,字符集(Charset)的选择至关重要。不同的字符集用于表示不同的语言和地区特定的字符。ADODB.Stream组件是Microsoft ActiveX Data ...

    asp下用ADODB.Stream代替FSO读取文本文件

    在ASP中,我们常用Scripting.FileSystemObject组件来读写文本文件,但它有一个缺点是对编码支持不足,比如我们想读写一个utf-8文本文件,FSO就很难办到了,这时我们就需要使用Adodb.Stream组件来代替它。

    ASP下通过Adodb.Stream实现多线程下载大文件

    本文所介绍的Adodb.Stream是一个组件,可以用来处理数据流。它支持二进制和文本的读写操作,非常适合用于文件的读取和写入。通过使用Adodb.Stream结合HTTP协议中的Range字段,可以实现对大文件的多线程下载,且支持...

    使用ADODB存取数据

    ADODB(ActiveX Data Objects)是Microsoft提供的一种用于访问数据库的组件,尤其在Windows环境下广泛使用。本文将深入探讨如何使用ADODB来存取数据,以及其核心概念和技术。 一、ADODB简介 ADODB是一个组件模型,...

    利用MSXML2.XmlHttp和Adodb.Stream采集图片

    本文将详细介绍如何通过结合使用MSXML2.XmlHttp对象和Adodb.Stream对象来实现这一功能。 #### 二、关键组件介绍 1. **MSXML2.XmlHttp** - **简介**:MSXML2.XmlHttp是Microsoft XML (MSXML) 提供的一个用于发送...

    .net cms c# 风讯网站信息管理系统

    其他设置: 支持ADODB.Connection,FSO,Microsoft.XMLHTTP,ADODB.Stream等组件,IE要求5.5以上。 后台管理客户端要求 必须要求使用Ms IE 5.5以上版本,支持JAVASCRIPT,VBSCRIPT脚本,并关闭所有弹出窗口的阻拦程序

    asp之基于adodb.stream的文件操作类

    ADODB.Stream是微软ADO(ActiveX Data Objects)库中的一个组件,它可以处理各种数据流,包括文本、二进制数据等。 在提供的代码中,作者创建了一个名为`files`的自定义类,这个类专门用于实现文件的读写功能,通过...

    一组测试ANSI文件与UTF-8文件的程序

    在EXAM文件中,可能包含了实现这些测试的源代码,例如VBScript或VBA脚本,它们可以作为示例来帮助其他开发人员理解和使用ADODB.Stream组件处理文本编码问题。通过分析和学习这些代码,我们可以进一步提升在处理文本...

    易语言-易语言对象版编码转换模块

    易语言的这个模块可能包含了对这些编码的识别和转换功能,例如,它可能使用了ADODB.Stream对象来读取和写入数据流,进而实现不同编码间的转换。 ADODB.Stream是Microsoft ActiveX Data Objects(ADODB)库中的一个...

    VB实现大文件的分割与合并

    ADODB.Stream是Microsoft ActiveX Data Objects库中的一个组件,它可以处理各种类型的数据流,包括二进制数据,因此非常适合用于文件操作。 首先,我们要理解大文件分割的基本原理。文件分割通常是指将一个大的文件...

    ASP无组件上传

    ASP无组件上传是一种在ASP(Active Server Pages)环境中实现文件上传的技术,无需额外安装服务器端组件,通过内置的对象如Adodb.Stream来处理文件流。这种技术对于那些无法或不想安装额外组件的服务器环境来说非常...

    stream大全

    这段代码演示了如何使用Adodb.Stream对象加载并显示一个文本文件的内容。它首先检查当前环境是否支持Adodb.Stream,然后设置流的类型和模式,接着打开流并加载指定文件,最后读取文件内容并显示在网页上。通过这个...

    风声 ASP 无组件上传类应用实例

    风声 ASP 无组件上传类应用实例,配置实例: Private Sub Class_Initialize m_Error = -1 m_Charset = "gb2312" m_TotalSize= 0 m_MaxSize = 153600 m_FileType = "jpg/gif" m_SavePath = "" m_AutoSave = 0...

    PB9转换utf-8例子

    在这个例子中,使用了ADODB.Stream对象,这是一个在Microsoft ActiveX Data Objects (ADO) 中提供的组件,它允许处理各种类型的流数据,包括文本数据的编码转换。 描述中提到,由于PB9及其以下版本未内置直接的字符...

    蓝点CMS建站系统(LDCMS) 1.0.3.rar

    ○组件:Adodb.Stream ○组件:Persits.Jpeg ○组件:JMail.Message ○浏览器:IE5.5以上版本,开启Cookies 推荐环境 ○Internet信息服务6.0 ○Scripting.FileSystemObject ○Adodb.Stream ○Persits.Jpeg...

Global site tag (gtag.js) - Google Analytics