 |
 |
最新调查 |
|
|
|
 |
 |
频道统计 |
|
|
|
|
|
 |
 |
在VB中实现文件上传[VB知识库-Visual Basic Knowledge base] |
|
|
| 在VB中实现文件上传[VB知识库-Visual Basic Knowledge base] |
| 作者:Admin 来源:VB知识库 录入:Admin 更新时间:2008-1-11 19:40:08 点击数:13 |
【字体:
】 |
InternetTransfer控件提供了Internet上最常使用的两种协议:HTTP和FTP。使用HTTP协议可以连接到WWW服务器上来下载文件;使用FTP协议则可以登录到FTP服务器。一般的FTP命令,例如CD、GET都可以通过Execute方法实现。 下面是一个设置INET控件属性的例子。 inet1.URL=ftp://username:password@hostname/document inet1.Protocol=2-icFTP inet1.RemoteHost=hostname inet1.RemotePort=21 inet1.Username=username inet1.Password=password 执行文件传输: Inet1.Execute"ftp://username:password@hostname",_ "PUT"&local_filename&"UPLOAD1.TXT" right1=Inet1.StillExecuting DoWhileright1 right1=Inet1.StillExecuting DoEvents Loop 这样便实现了文件的上载。 *SINET控件的优点 INET控件与Shell()函数的不同之处在于INET控件通过调用语句 right1=Inet1.StillExecuting DoWhileright1 right1=Inet1.StillExecuting DoEvents Loop来控制语句执行的顺序。在文件传输工作未完成之前,程序不会执行其它语句,自然也就不会出现调用Shell函数所出现的问题。变量right1用来测试inet1的执行状态,如果进程中仍在进行文件传输的工作,则调用过程DoEvents给系统空闲时间来做文件传输工作,这样便成功地执行了文件上载的功能。该文件使用完毕之后将被删除。 Inet1.Execute"ftp://informix:informix@rd",_ "DELETEUPLOAD1.TXT" right1=Inet1.StillExecuting DoWhileright1 right1=Inet1.StillExecuting DoEvents Loop 将上载的文件删除是为了避免占用服务器端磁盘空间。 *S利用StateChanged事件提示信息 服务器在执行inet1.execute的同时也激活了Inet1_StateChanged事件,进程可以根据捕获到的状态进行动作。 object_StateChanged(ByValStateAsInteger) State:整数类型Integer 下面是状态的说明。 常数值 描述icNone 0 未报告状态icHostResolvingHost 1 控件正在寻找指定主机的IP地址icHostResolved 2 控件已成功找到指定主机的IP地址icConnecting 3 控件正在与指定主机进行连接icConnected 4 控件已成功与指定主机连接icRequesting 5 控件正在向主机发出请求icRequestSent 6 控件已成功向主机发出请求icReceivingResponse 7 控件正在从主机接收反馈信息icResponseReceived 8 控件已成功从主机接受反馈信息icDisconnecting 9 控件正在与主机断开icDisconnected 10 控件已与主机断开icError 11 在与主机通信的过程中发生了错误icResponseCompleted 12 请求结束且数据已经接收到 下面是一个例子。 PrivateSubInet1_StateChanged(ByValStateAsInteger) 'RetrieveserverresponseusingtheGetChunk 'methodwhenState=12.Thi***ampleassumesthe 'dataistext. SelectCaseState '...Othercasesnotshown. CaseicResponseReceived'12 DimvtDataAsVariant'Datavariable. DimstrDataAsString:strData="" DimbDoneAsBoolean:bDone=False 'Getfirstchunk. vtData=Inet1.GetChunk(1024,icString) DoWhileNotbDone strData=Data&vtData 'Getnextchunk. vtData=Inet1.GetChunk(1024,icString) IfLen(vtData)=0Then bDone=True EndIf Loop txtData.Text=strData EndSelect EndSub
至少要成为本站的注册会员才能下载! 注册点我!
|
|
|
发表评论 告诉好友 打印此文 收藏此页 关闭窗口 返回顶部 |
|
|
 |
 |
网友评论:(只显示最新5条。) |
|
|
|
|
|