|
|
|
|
|
- Managing the progress of the transfer
- Timeout
- Rights of users
- Relative and absolute path
- AS/400 FTP server
FTPGetFile (Function) In french: FTPRécupèreFichier Transfers a file from an FTP (File Transfer Protocol) server to the current computer. Note: This function allows you to recover only one file. This file must exist on the FTP server. In this case, FTPGetFile is faster than FTPGet. New in SaaSA new syntax for manipulating variables of type ftpConnection is available from WINDEV Suite SaaS 2025 - Update 2.
ConnectionNumber = FTPConnect("192.54.12.8")
ResRetrieve = FTPGetFile(ConnectionNumber, "/Document/File.txt", "D:\Temp")
New in SaaSSyntax
<Result> = FTPGetFile(<FTP connection> , <File to get> , <Destination file/directory> [, <WLanguage procedure> [, <Transfer mode>]])
<Result>: Boolean - True if the transfer was performed,
- False otherwise. To get more details on the error, use ErrorInfo with the errMessage constant.
Note: The result may be incorrect on some Unix servers. Existing files may not be found.
<FTP connection>: Integer or ftpConnection variable - Connection identifier, returned by FTPConnect.
New in SaaSName of the ftpConnection variable that corresponds to the FTP connection used. Note: This feature is only available from WINDEV Suite SaaS 2025 - Update 2.
<File to get>: Character string Name and absolute (or relative) path of the file to get. This file is located on the FTP server. The different parts of the path are separated by "slashes" ("/"). Note: Directory names are case sensitive. You must use the same case as the one used on the FTP server (uppercase/lowercase characters). No wildcard character (* or?) can be used. To retrieve several files, use FTPListFile beforehand to get the name of the files to retrieve.
An absolute path has the following format: "/<DirectoryName>/<FileName>". The tree structure has the following format: "/<DirectoryName>/<FileName>". A relative path has the following format: "<DirectoryName>/<FileName>". The tree structure has the following format: "/<CurrentServerDirectory>/<DirectoryName>/<FileName>".
When retrieving the file:- if <Destination file/directory> is a directory found on the current computer, the file to retrieve is copied to the destination directory.
- if <Destination file/directory> is a file found on the current computer, the file to retrieve is copied and renamed.
<Destination file/directory>: Character string Name and full or relative path of the destination file or directory. A UNC path can be used.If this parameter corresponds to a name of an existing directory on the client computer, a file with the same name as the file to get is created in this directory. <WLanguage procedure>: Procedure name Name of WLanguage procedure automatically called to check the transfer progress. This procedure can be a global method of the class (in the following format: <Class name>::<GlobalMethodName>). <Transfer mode>: Optional Integer constant Transfer mode used: | | ftpASCIIMode | Transfer performed in ASCII mode. This mode is used to transfer files between different operating systems, e.g. UNIX to Windows. The file is delivered in the ASCII format used by the receiving system. | ftpBinaryMode (Default value) | Transfer performed in binary mode. The file is strictly identical between the sending and the receiving. |
Remarks Managing the progress of the transfer FTPGetFile is a blocking function. No other action can be performed until the current transfer has been completed. To check the progress of the transfer, FTPGetFile can automatically call the <WLanguage procedure> at regular intervals (every 64 KB). This procedure is declared as follows: PROCEDURE <Procedure name>(<Total size>, <Transferred size>) where: - <Total size> is an integer representing the total size of the file being transferred.
- <Transferred size> is an integer representing the number of bytes already transferred.
In this procedure, you can: - display a progress bar (using a Progress Bar control for example),
- determine if the transfer is completed (<Total size> = <Transferred size>).
FTPGetFile cannot be interrupted until the transfer is completed. To stop the function, use the following line of code in <Procedure name>: In any other case (to continue), <Procedure name> MUST return True. An error is generated if <Procedure name> returns no value (neither True nor False). Timeout By default, all the FTP functions fail if the FTP server does not respond within 20 seconds. This time can be modified: - when connecting to the FTP server with FTPConnect (<Timeout> parameter).
New in SaaSwhen defining the parameters of the ftpConnection variable ( Timeout property). Note: This feature is only available from WINDEV Suite SaaS 2025 - Update 2.
Rights of users Only a user who has read rights on the FTP server can get information about the files or the directories located on an FTP server. In most cases, the read rights are granted to the "anonymous" users. Relative and absolute path The notions of relative path and absolute path are very important in an FTP application. - A path beginning with a slash is considered an absolute path. This path is relative to the root of the FTP server (server-specific parameter).
ex: /pub/user/JULIA - If the path does not begin with a slash, it is considered a relative path, i.e. the path relative to the current directory. This current directory can be obtained or changed using FTPCurrentDir.
When connecting to an FTP site, the initial directory (the "base directory" of the user) is not necessarily found at the root of the FTP server. Therefore, we recommend that you use relative paths. AS/400 FTP server FTPGetFile does not work properly on an AS/400 FTP server. In this case, we recommend that you use FTPCommand with the FTP "RETR" command (for more details, see the documentation about the FTP server).
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|