基本步驟是:
1、調(diào)用InternetOpen函數(shù)設(shè)置環(huán)境。
2、調(diào)用InternetConnect 函數(shù)連接主機(jī)。
3、調(diào)用FtpPutFile 函數(shù)得到文件。
4、用InternetCloseHandle 函數(shù)關(guān)閉第1、2步的句柄。
當(dāng)使用FtpGetFile 時(shí)與上面的步驟看起來完全一樣。事實(shí)上的區(qū)別是在第3步中調(diào)用了FtpPutFile 。VB特定調(diào)用這一函數(shù)的聲明是:
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
第一個(gè)參數(shù)hFtpSession 是InternetConnect 調(diào)用返回的句柄值。
lpszNewFile 和lpszRemoteFile 分別是本地機(jī)上的文件名和將在遠(yuǎn)程主機(jī)上創(chuàng)建的文件名。
參數(shù)dwFlags 指定為1時(shí),用ASCII 傳輸文件(A類傳輸方法),指定為2是用二進(jìn)制傳輸文件(1類傳輸方法)。由于DIRMAP.TXT 是ASCII 文本文件,我們傳遞值1。
最后,當(dāng)使用回叫信號(hào)時(shí),lContext 用來識(shí)別應(yīng)用程序前后關(guān)系。因?yàn)樵谖覀兊睦又胁皇褂没亟行盘?hào),所以這個(gè)值為0。
以下是得到DIRMAP.TXT文件并將其存在 C:DIRMAP.TXT的調(diào)用。
blnRC = FtpPutFile(lngINetConn, “c::dirmap.txt”, “dirmap.txt”, 1, 0)
如果函數(shù)調(diào)用成功,blnRC為 True, 反之為False。
可以看到,把文件放到FTP服務(wù)器上與從FTP服務(wù)器上得到文件一樣簡(jiǎn)單??荚嚧筇崾荆耗涿脩魺o權(quán)在FTP服務(wù)器上創(chuàng)建文件。所以要確定用來與FTP服務(wù)器連接的用戶帳號(hào)要有創(chuàng)建文件的權(quán)限。不然的話,F(xiàn)tpPutFile函數(shù)調(diào)用就會(huì)返回False,說明Put 失敗了。
1、調(diào)用InternetOpen函數(shù)設(shè)置環(huán)境。
2、調(diào)用InternetConnect 函數(shù)連接主機(jī)。
3、調(diào)用FtpPutFile 函數(shù)得到文件。
4、用InternetCloseHandle 函數(shù)關(guān)閉第1、2步的句柄。
當(dāng)使用FtpGetFile 時(shí)與上面的步驟看起來完全一樣。事實(shí)上的區(qū)別是在第3步中調(diào)用了FtpPutFile 。VB特定調(diào)用這一函數(shù)的聲明是:
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
第一個(gè)參數(shù)hFtpSession 是InternetConnect 調(diào)用返回的句柄值。
lpszNewFile 和lpszRemoteFile 分別是本地機(jī)上的文件名和將在遠(yuǎn)程主機(jī)上創(chuàng)建的文件名。
參數(shù)dwFlags 指定為1時(shí),用ASCII 傳輸文件(A類傳輸方法),指定為2是用二進(jìn)制傳輸文件(1類傳輸方法)。由于DIRMAP.TXT 是ASCII 文本文件,我們傳遞值1。
最后,當(dāng)使用回叫信號(hào)時(shí),lContext 用來識(shí)別應(yīng)用程序前后關(guān)系。因?yàn)樵谖覀兊睦又胁皇褂没亟行盘?hào),所以這個(gè)值為0。
以下是得到DIRMAP.TXT文件并將其存在 C:DIRMAP.TXT的調(diào)用。
blnRC = FtpPutFile(lngINetConn, “c::dirmap.txt”, “dirmap.txt”, 1, 0)
如果函數(shù)調(diào)用成功,blnRC為 True, 反之為False。
可以看到,把文件放到FTP服務(wù)器上與從FTP服務(wù)器上得到文件一樣簡(jiǎn)單??荚嚧筇崾荆耗涿脩魺o權(quán)在FTP服務(wù)器上創(chuàng)建文件。所以要確定用來與FTP服務(wù)器連接的用戶帳號(hào)要有創(chuàng)建文件的權(quán)限。不然的話,F(xiàn)tpPutFile函數(shù)調(diào)用就會(huì)返回False,說明Put 失敗了。