求救,请大家看这段用VB写的ASP上传组建源文件(100分)

  • 主题发起人 主题发起人 ouwx
  • 开始时间 开始时间
O

ouwx

Unregistered / Unconfirmed
GUEST, unregistred user!
原文件如下:
新建一个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

这个我在网上下载的文件。本来想做一个文件上传组建。可是遇到了以下问题。我对VB不熟悉,
我根本找不到
Microsoft Active Server Pages Object项以及Microsoft Transaction Server Type Library项
运行的时候报错:ObjectContext没有定义。
请问那位富翁有解决办法或类似的程序。谢谢!
 
估计你的本地机器需要配置pws(win98环境),IIS(win2k环境),同时需要添加MTS组件
这样才能具备上面编程的环境
 
编译前,先引用ASP
 
我已经引入了ASP
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部