PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
This content has been translated automatically. Click here to view the French version.
  • Managing the progress of the transfer
  • Transfer timeout
  • Internet browser
  • Rights of users
  • Relative and absolute path
  • AS/400 FTP server
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Transfers a file or directory from an FTP (File Transfer Protocol) server to the current computer.
Versions 25 and later
WEBDEV - Server code Remark: To quickly retrieve a single file from the FTP server, use FTPGetFile.
New in version 25
WEBDEV - Server code Remark: To quickly retrieve a single file from the FTP server, use FTPGetFile.
WEBDEV - Server code Remark: To quickly retrieve a single file from the FTP server, use FTPGetFile.
Versions 18 and later
Linux This function is now available for WINDEV applications in Linux.
WEBDEV - Server codeLinux This function is now available for WEBDEV sites in Linux.
New in version 18
Linux This function is now available for WINDEV applications in Linux.
WEBDEV - Server codeLinux This function is now available for WEBDEV sites in Linux.
Linux This function is now available for WINDEV applications in Linux.
WEBDEV - Server codeLinux This function is now available for WEBDEV sites in Linux.
WEBDEV - Server codeAjax
// Récupération du fichier "/Document/Fichier.txt" présent sur le serveur FTP
// dans le répertoire "D:\Temp" sur le poste en cours
ResRécupère = FTPGet(7, "/Document/Fichier.txt", "D:\Temp")
Syntax
<Result> = FTPGet(<Connection identifier> , <File/Directory to retrieve> , <Destination file/directory> [, <WLanguage procedure> [, <Transfer mode>]])
<Result>: Boolean
  • True if the transfer was performed,
  • False otherwise. To get the details of the error, use ErrorInfo with the errMessage constant.
    Remark: The result may be incorrect on some Unix servers: an existing file or directory may not be found.
<Connection identifier>: Integer
Connection identifier, returned by FTPConnect.
PHP This parameter is a Variant parameter.
<File/Directory to retrieve>: Character string
Name and full (or relative) path of the file (or directory) to retrieve. This file (or directory) is found on the FTP server. The different path sections are separated by "slashes" ("/").
Caution: the name of the directory is 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>".
If this parameter corresponds to a directory, all the files found in this directory are retrieved. A directory with the same name is created on the current computer at the location specified by <Destination file/directory>.
If this parameter corresponds to a 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.
<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>).
PHP This parameter is not available.
<Transfer mode>: Optional Integer constant
Transfer mode used:
ftpBinaryMode
(Default value)
Transfer performed in binary mode. The file is strictly identical between the sending and the receiving.
ftpASCIIModeTransfer performed in ASCII mode. This mode is used to transfer data between two different types of operating systems, from UNIX to Windows for example: the transferred file is changed into the ASCII format of destination system.
Remarks
WEBDEV - Server codeAjax

Managing the progress of the transfer

FTPGet is a blocking function: no other action can be performed until the end of current transfer.
To check the progress of the transfer, FTPGet can automatically call the <WLanguage procedure> procedure at regular intervals (every 64 KB).
This procedure is declared as follows:
PROCEDURE <Nom de la procédure> (<Taille totale>, <Taille transférée>)
where:
  • <Total size> is an integer corresponding to the total size of file or directory currently transferred.
  • <Transferred size> is an integer corresponding to the number of bytes already transferred.
In this procedure, you can:
  • display a progress bar (using a Progress Bar control for example),
  • find out whether the transfer is completed (<Total size> = <Transferred size>).
FTPGet cannot be interrupted as long as all files have not been transferred. To force the interruption of the browse, use the following code line in the <Procedure name> procedure:
RESULT False
In any other case (to continue the browse), <Procedure name> MUST return True.
An error is generated if <Procedure name> returns no value (neither True nor False).

Transfer timeout

By default, all the FTP functions fail if the FTP server does not respond within 20 seconds. This timeout can be modified with FTPConnect when connecting to the FTP server.
WEBDEV - Server codeAjax

Internet browser

FTPGet requires Internet Explorer version 3 or later.
If a problem occurs, we recommend that you run a test with the browser by directly passing a link such as "ftp://server/...". If a problem occurs with Internet Explorer (with a UNIX server for example), use FTPCommand directly.

Rights of users

Only a user who has read rights on the FTP server can retrieve the files found 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 starting with a slash is considered as being an absolute path: it is the path in relation to the root of the FTP server (parameter specific to the server).
    ex: /ad/user/JULIA
  • A path not starting with a slash is considered as being a relative path, which means a path given in relation to the current directory. This current directory can be returned or modified by FTPCurrentDir.
When connecting to an FTP site, the initial directory (the "home 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

The FTPGet function does not work correctly if the FTP server is present on an AS/400.
In this case, we recommend that you use FTPCommand with the FTP "RETR" command (for more details, see the documentation about the FTP server).
Business / UI classification: Business Logic
Component: wd270com.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment