用ADO STREAM做的无组件上传程序简单介绍

夜得魅惑

夜得魅惑

2016-01-29 18:24

用ADO STREAM做的无组件上传程序简单介绍,用ADO STREAM做的无组件上传程序简单介绍
 
以前,如果要用ASP操作文件,比如移动、复制、删除或者创建一个记事本文件,基本上都是通过FILESYSTEMOBJECT对象做的,当然,这个东西很专业,也没说什么不好,它可以提供完善的文件信息,比如建立时间,大小,上次修改时间等等,但是如果你不做痛苦的高代价的字符格式转换的话,利用它你无法直接操作二进制文件。

但是,现在我们介绍的stream物件可以同时操作文本对象和二进制对象,要求是您的机器上要安装有ADO2。5或者更高版本,您可以从http://www.microsoft.com/data里去DOWN的。

这个stream对象包含了许多操作二进制和文本文件的方法,让我们来看例子吧

打开stream对象

<!--METADATA TYPE="typelib"      UUID="00000205-0000-0010-8000-00AA006D2EA4"     NAME="ADODB Type Library"--<%'Create a Stream instanceDim objStreamSet objStream = Server.CreateObject("ADODB.Stream")'Open the streamobjStream.Open
对于以上的引用,如果您有不明白的地方,可以看我以前贴的帖子,具体什么名字忘记了

注意:如果版本不对以上代码会提示错误信息的。
现在您已经建立了一个0长度的STREAM,任何时候,你都可以使用size属性看改stream的大小,现在我们要指定操作什么类型的信息,二进制还是text ,如果是text还要指定是ASCII还是UNICODE格式

如下代码:
objStream.Type = adTypeText
objStream.Charset = "ascii"

接下来我们向这个stream里写进一个text文件,用它的loadfromfile方法

objStream.LoadFromFile "D:Inetpubwwwrootwebtech83100-1.shtml"

在这里要注意的是,如果你操作stream,一定要搞清楚位置的概念,这里我们使用了loadfromfile方法以后,原来stream里的内容会被全部清除,然后,该文件被装载到stream里面,接着stream的位置恢复为0,(stream的开始位置)
你如果在当前0位置写入信息,就会覆盖原来的内容,所以你如果想要追加东西的话,必须从最后位置开始操作,如下代码:

objStream.Position = objStream.Size

该代码把当前位置移到最后

现在我们可以往后面加东西了,嘿嘿,比如

objStream.WriteText "请访问我的聊天室,MM尤其欢迎"

哈哈
现在我们达到了我们的目的了,让我们把它保存下来
这里要注意的是因为你是用iuser_machinename的帐号的,所以相应目录要对该帐号开放写权限的,这个是没办法的事,不然会出错。

objStream.SaveToFile"D:InetPubwwwrootdemosStreamDemo.txt", adSaveCreateOverwrite

继承我们的优良传统,使用完以后,关闭释放

'Close the stream and set it to nothing...
objStream.Close
Set objStream = Nothing
%

前面我也说过,它也能操作二进制对象,其实只要修改一些参数就可以了,让我们来看一个例子:

<!--METADATA TYPE="typelib"
      UUID="00000205-0000-0010-8000-00AA006D2EA4"
     NAME="ADODB Type Library"
--
<%
  'Create a stream object
  Dim objStream
  Set objStream = Server.CreateObject("ADODB.Stream")
  
  'Open a GIF file
  objStream.Type = adTypeBinary
  objStream.Open
  objStream.LoadFromFile "D:Inetpubwwwrootimagesbannerdimacbanner1.gif"
  
  'Output the contents of the stream object
  Response.ContentType = "image/gif"
  Response.BinaryWrite objStream.Read
  
  'Clean up....
  objStream.Close
  Set objStream = Nothing
%

 
展开更多 50%)
分享

猜你喜欢

用ADO STREAM做的无组件上传程序简单介绍

ASP
用ADO STREAM做的无组件上传程序简单介绍

用ADO STREAM做的无组件上传程序

ASP
用ADO STREAM做的无组件上传程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

6行代码实现无组件上传

ASP
6行代码实现无组件上传

中文的无组件文件上传ASP函数

ASP
中文的无组件文件上传ASP函数

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

无组件文件上传代码实例

ASP
无组件文件上传代码实例

无组件图文混合上传示例

ASP
无组件图文混合上传示例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何在WPS2000中插入AutoCad图形文件

如何在WPS2000中插入AutoCad图形文件

使用者管理--sudo

使用者管理--sudo
下拉加载更多内容 ↓