用VB6做一个简单的文件上传组件(二)
程序员文章站
2022-09-14 09:14:03
接着上回,新建一个activex dlls类型的工程,并将缺省的工程名由“project1”改为“songbird”(当然你也有权不这样改,呵呵),将缺省的类名由“class1”改...
接着上回,新建一个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文件中这样使用该:
要想实现读取上传文件字节数据的功能,势必要涉及到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文件中这样使用该:
上一篇: 完整的访问统计程序(三 应用篇)
下一篇: 利用ASP实现三个强大功能之二