跪求一个关于Vb代码!!!急!

发布网友

我来回答

1个回答

热心网友

用INET控件可以, 用API函数也可以.

API函数:
基本步骤是:

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 失败了。

参考资料:http://www.soudie.net/top_16917_cat_21/

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com