用VB创建FTP组件(put)

王朝vb·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

基本步骤是:

1、调用InternetOpen函数设置环境。

2、调用InternetConnect 函数连接主机。

3、调用FtpPutFile 函数得到文件。

4、用InternetCloseHandle 函数关闭第1、2步的句柄。

当使用FtpGetFile 时与上面的步骤看起来完全一样。事实上唯一的区别是在第3步中调用了FtpPutFile 。VB特定调用这一函数的声明是:

Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _

(ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _

ByVal lpszRemoteFile As String, ByVal dwFlags As Long, _

ByVal dwContext As Long) As Boolean

第一个参数hFtpSession 是InternetConnect 调用返回的句柄值。

lpszNewFile 和lpszRemoteFile 分别是本地机上的文件名和将在远程主机上创建的文件名。

参数dwFlags 指定为1时,用ASCII 传输文件(A类传输方法),指定为2是用二进制传输文件(1类传输方法)。由于DIRMAP.TXT 是ASCII 文本文件,我们传递值1。

最后,当使用回叫信号时,lContext 用来识别应用程序前后关系。因为在我们的例子中不使用回叫信号,所以这个值为0。

以下是得到DIRMAP.TXT文件并将其存在 C:\DIRMAP.TXT的调用。

blnRC = FtpPutFile(lngINetConn, “c::\dirmap.txt”, “dirmap.txt”, 1, 0)

如果函数调用成功,blnRC为 True, 反之为False。

你可以看到,把文件放到FTP服务器上与从FTP服务器上得到文件一样简单。有一点要注意,匿名用户无权在FTP服务器上创建文件。所以要确定用来与FTP服务器连接的用户帐号要有创建文件的权限。不然的话,FtpPutFile函数调用就会返回False,说明Put 失败了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航