利用Internet传输控件来使用FTP

ZDNet软件频道 时间:2003-08-20 作者:ZDNet China |  我要评论()
本文关键词:vbtips
微软提供了Internet传输控件(Internet Transfer Control),它能够让你使用Visual Basic 6的应用程序使用FTP来传输文件。
本文译自Builder.com,未经许可请勿转载 微软提供了Internet传输控件(Internet Transfer Control),它能够让你使用Visual Basic 6的应用程序使用FTP来传输文件。要使用这个控件,你需要将微软的Internet传输控件添加到自己的项目里,然后将这个控件加到表单里。

现在是该设置控件属性的时候了:

  • 将URL属性设置为FTP服务器的URL。
  • 将用户名(Username)和密码(Password)的属性设置为合法的用户ID和密码,这也是FTP所要用到的。(如果你将这些属性留成空白,那么用户名属性就会被设置为匿名(anonymous),而密码属性会被设置为一个缺省的密码。)
  • 将协议(Protocol)属性设置为icFTP,这是访问FTP所需要的。设置一下RequestTimeout,以防止在服务器没有相应的时候控件挂起。例如:

With Inet1
    .URL = "ftp://myftpserver"
    .UserName = "myusername"
    .Password = "mypassword"
    .Protocol = icFTP
    .RequestTimeout = 120
End With

要进行GET或者PUT操作,就要调用Execute方法。第一个自变量是可选的,它允许你指定URL。第二个自变量能够让你指定要进行的操作。当GET操作被调用的时候,你必须传递被请求文件的名称和要创建的本地文件名。当PUT操作被调用的时候,要被上传的文件就会被指定,然后就在FTP服务器上创建这个文件。

Call Inet1.Execute(, "GET ftpfile.txt c: empftpfile.txt")
Call Inet1.Execute(, "PUT c: empftpfile.txt ftpfile2.txt")

Execute方法是异步工作的,所以你可以使用StateChanged事件来监控这项操作的进展情况。State自变量会是一个StateConstant。你可以使用对象浏览器(Object Browser)或者在线帮助(Online Help)来查看State所有合法的值。

Private Sub Inet1_StateChanged(ByValState As Integer)
    Debug.PrintState
End Sub

如果State等于icError,那么你可以通过ResponseCode和ResponseInfo属性来获取错误信息。

Debug.Print Inet1.ResponseCode
Debug.Print Inet1.ResponseInfo



责任编辑:炒饭

欢迎评论投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134