当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用VB6做一个简单的文件上传组件(二)

ASP
asp生成三维饼图的函数
ASP下的简洁的多重查询的方法与函数 真不错
发一个ASP的ADODB类代码
A利用ASP小偷和Google实现在线翻译功能的代码
ASP类型网站结合动网论坛会员的方法
Asp下实现多表单域无组件文件上传的实例
asp制作中常用到的函数库集合
易心asp分页类 v1.0
asp中xmlhttp组件发包
检测是否为数字类型的asp代码
可以获得文件的文件名的asp函数
用asp实现访问远程计算机上MDB access数据库文件的方法
用ASP实现写IIS日志的代码
asp在IE浏览器中下载服务端上的各类文件的实现方法
asp汉字中文图片验证码的实现代码
asp WAP获取手机终端信息的一段代码
asp取得数组中的最大值的方法
用asp实现的截取指定格式字符串的代码
asp jmail发邮件 详细解析
ASP编程中连接数据库和数据库操作的常用代码

ASP 中的 用VB6做一个简单的文件上传组件(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 249 ::
收藏到网摘: n/a

  接着上回,新建一个ActiveX DLLs类型的工程,并将缺省的工程名由“Project1”改为“Songbird”(当然你也有权不这样改,呵呵),将缺省的类名由“Class1”改为“FileUp”,至于为什么要这样改,以后你便知道了。
    要想实现读取上传文件字节数据的功能,势必要涉及到Request对象,可是在VB中该怎么做呢?简单,只需要在工程中加入适当的类型库的参考即可。点击Project菜单选择References,在随之出现的对话框中选中Microsoft Active Server Pages Object项以及Microsoft Transaction Server Type Library项,单击OK,便可以在VB环境中象写ASP代码一样操纵Request、Response等对象了,你会感到非常亲切的。
    以下便是具体的程序代码:

    Public Function SaveFile(Pathname As String) As String
        OnError Goto ErrorCode
        Dim objContext As ObjectContext
        Dim objRequest As Request

        'ObjectContext的使用类似于ASP中的Application和Session对象,
        '可以用关键值对其内部的一些特定的对象实例进行访问,
        '如ObjectContext("Response")

        Set objContext=GetObjectContext()
        Set objRequest=objContext("Request")

        '以下的一段代码与前文的脚本程序类似,
        '只不过对变量的定义要严格些

        Dim FormData() As Byte,CLStr,DivStr
        Dim DataStart As Long,DataSize As Long

        DataSize=objRequest.TotalBytes
        Redim FormData(DataSize-1)
        FormData=objRequest.BinaryRead(DataSize)
        CLStr=ChrB(13) & ChrB(10)
        DataStart=InStrB(FormData,CLStr & CLStr)+4
        DivStr=LeftB(FormData,InStrB(FormData,CLStr)-1)
        DataSize=InStrB(DataStart+1,FormData,DivStr)-DataStart-2
        FormData=MidB(FormData,DataStart,DataSize)

        '创建一个二进制文件并将FormData写入其中
        Open Pathname For Binary As 1
        Put #1,,FormData
        Close #1

        SaveFile="OK!"
        Exit Function
    ErrorCode: SaveFile=Err.Description
    End Function
    
    大功告成!剩下的便是怎样使用这段程序了。
    点击File菜单,选择Make Songbird.dll,系统便会将这段程序编译成DLL文件并自动在本机进行注册。除非你直接在服务器上开发,否则应将此文件拷贝到NT服务器的System32目录下并运行“regsvr32 Songbird.dll”命令进行注册。注册成功之后,在负责接受上传文件的那个ASP文件中这样使用该组件:
    <%
      Dim fu
      Set fu=Server.CreateObject("Songbird.FileUp")
      '用惯了CreateObject("ADODB.Connection"),
      '此时看见了用自己的大名命名的组件,俺的内心立马充满了无限的激动,
      '哈哈哈哈!...@#$%&*,对不起,抒情好象不是俺的强项,呵呵

      '将文件保存到服务器的D盘根目录下
      Response.Write