站内搜索
分类列表
本类阅读排行
本类推荐文章
- ASP技巧:让Len,Left,Right函数识...
- 用ASP实现IE地址栏参数的判断
- 如何实现ASP.NET网站个性化
- 如何在Asp.net中使用HtmlArea编辑...
- 用ASP.Net实现在线压缩和解压缩
- ASP实现不存在的网页就自动发送邮...
- 用ASP取出HTML里面的图片地址的函...
- asp.net跳转页面的三种方法比较
- 一个Winsock组件
- 用WinSock设计Chat程序(转)
- 在MFC应用中深入定制WebBrowser控...
- 这几天有人问关于编应.dll的问题,...
- 在Visual J++中编写ASP COM组件(转...
- 一个显示Grid的VBScript对象
- 好东西,快来看呀:(转载自中华网...
广告
用VB6做一个简单的文件上传组件(二)
作者: 来源: 点击: 日期:2007-5-5 23:34:09
接着上回,新建一个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
要想实现读取上传文件字节数据的功能,势必要涉及到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
用VB6做一个简单的文件上传组件(二) 评论
