点击或拖拽改变大小

CFtp.GetFile 方法

X#
从 FTP 服务器接收文件。

命名空间:  VO
程序集:  VOInternetClasses (在 VOInternetClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD GetFile(
	cRemoteFile,
	cNewFile,
	lFailIfExists,
	nFlags
) AS USUAL CLIPPER
查看代码

参数

cRemoteFile (Optional)
类型:__Usual
要接收的远程文件的名称。
cNewFile (Optional)
类型:__Usual
包含要在本地系统上创建的文件名称的字符串。 如果未指定,则 cRemoteFile 自动成为本地文件的名称。
lFailIfExists (Optional)
类型:__Usual
逻辑值,指示如果本地系统上已存在指定名称的文件,方法是否应继续执行。 如果 lFailIfExists 为 TRUE 且本地文件存在,则 GetFile() 方法失败。
nFlags (Optional)
类型:__Usual
控制文件下载方式的标志。第一个标志值集指示传输发生的条件。这些传输类型标志可以与控制缓存的第二个标志值集结合使用。 应用程序可以选择以下传输类型值之一: 下面的标志处理如何处理此文件的缓存。可以与传输类型标志结合使用任何以下标志。 可能的值是:

返回值

类型:__Usual
如果成功则返回 TRUE;否则返回 FALSE。
备注
该方法从 FTP 服务器检索文件,并将其存储在指定名称下的本地文件中。
示例
以下是 ftp.cai.com 上 X# 下载区包含的所有文件的综合列表(00index.txt):
X#
 1FUNC TestGetFile()
 2    LOCAL oFTP AS CFtp
 3    LOCAL cFile AS STRING
 4
 5    oFTP := CFtp{"VO Sample FTP Agent"}
 6
 7    IF oFTP:ConnectRemote("ftp.cai.com", "anonymous", "Darth.Vader@starwars.com")
 8        cFile := "00index.txt"
 9
10        IF oFTP:SetCurDir("/pub/vo")
11            IF oFTP:GetFile(cFile)
12                IF File(cFile)
13                    ? "File received: " + FPathName()
14                ENDIF
15            ELSE
16                __RaiseFTPError(oFTP)
17            ENDIF
18        ELSE
19            __RaiseFTPError(oFTP)
20        ENDIF
21    ENDIF
22
23    oFTP:CloseRemote()
24
25    RETURN
26
27STATIC FUNC __RaiseFTPError (oFTP AS CFtp) AS INT PASCAL
28    LOCAL cError AS STRING
29    LOCAL nRet AS INT
30
31    nRet := oFTP:Error
32
33    IF nRet > 0
34        cError := oFTP:ErrorMsg
35
36        IF SLen(cError) > 0
37            MessageBox(0, cError, "FTP Error", MB_OK)
38        ENDIF
39    ENDIF
参见