PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Managing the progress of the transfer
  • Time-out for transfer
  • Internet browser
  • Rights of users
  • Relative and absolute path
  • Required permissions
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Transfers a file or directory to an FTP server (File Transfer Protocol).
PHP Transfer a file or a directory found on the server hosting the application to an FTP server (File Transfer Protocol).
Windows Mobile Note: This function is ignored when exchanging files by ActiveSync.
Versions 15 and later
Android This function is now available for the Android applications.
New in version 15
Android This function is now available for the Android applications.
Android This function is now available for the Android applications.
Versions 18 and later
Android Widget This function is now available in Android Widget mode.
WINDEVLinux This function is now available for the WINDEV applications in Linux.
WEBDEV - Server codeLinux This function is now available for the WEBDEV sites in Linux.
iPhone/iPad This function is now available for the iPhone/iPad applications.
New in version 18
Android Widget This function is now available in Android Widget mode.
WINDEVLinux This function is now available for the WINDEV applications in Linux.
WEBDEV - Server codeLinux This function is now available for the WEBDEV sites in Linux.
iPhone/iPad This function is now available for the iPhone/iPad applications.
Android Widget This function is now available in Android Widget mode.
WINDEVLinux This function is now available for the WINDEV applications in Linux.
WEBDEV - Server codeLinux This function is now available for the WEBDEV sites in Linux.
iPhone/iPad This function is now available for the iPhone/iPad applications.
WINDEVReports and QueriesJavaUser code (UMC)
// Transfer the "C:\MyDocuments\File.DOC" file
// into the "/Temp" directory on the FTP server
ResSend = FTPSend(ConnectionNum, "C:\MyDocuments\File.DOC", "/Temp")
Windows Mobile
// Transfer the "C:\MyDocuments\File.TXT" file
// into the "/Temp" directory on the FTP server
ResSend = FTPSend(ConnectionNum, "MyDocuments\File.TXT", "/Temp")
WEBDEV - Server codePHPAjax
// Transfer the "File.DOC" file found in
// the _WEB directory of the application
// to the"/Temp" directory on the FTP server
ResSend = FTPSend(ConnectionNum, fWebDir() + "\File.DOC", "/Temp")
Syntax
<Result> = FTPSend(<Connection Identifier> , <File/Directory to Transfer> , <Destination File/Directory> [, <Procedure Name> [, <Transfer Mode>]])
<Result>: Boolean
  • True if the transfer was performed,
  • False otherwise. The status report of error is returned by ErrorInfo.
<Connection Identifier>: Integer
Connection identifier, returned by FTPConnect.
PHP This parameter is a Variant parameter.
<File/Directory to Transfer>: Character string
Name and full (or relative) path of the file (or directory) to transfer. A UNC path can be used. No wildcard character can be used (* or?).
If this parameter corresponds to a directory, all the files found in this directory are transferred. A directory with the same name is created on the FTP server 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 FTP server, the file to retrieve is copied into the destination directory.
  • If <Destination File/Directory> is a file found on the FTP server, the file to transfer is copied and renamed.
Windows Mobile No relative path or UNC path can be used.
<Destination File/Directory>: Character string (with quotes)
Name and full (or relative) path of destination file (or directory). This file (or directory) is found on the FTP server. The different path sections are separated by "slashes" ("/").
A full 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>".
<Procedure Name>: Optional character string (with or without quotes)
Name of procedure automatically called to check the transfer progress.
PHP This parameter is not available.
<Transfer Mode>: Optional Integer constant
Transfer mode used:
FTPBinaryMode
(Default value)
ftpBinaryMode
(Default value)
Transfer performed in binary mode: The file is strictly identical between the sending and the receiving.
FTPASCIIModeftpASCIIModeTransfer 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
WINDEVWEBDEV - Server codeReports and QueriesAndroidAndroid Widget Windows MobileJavaAjaxUser code (UMC)

Managing the progress of the transfer

FTPSend is a locking function: no other action can be performed until the end of current transfer. To check the progress of transfer, FTPSend can automatically call the <Procedure Name> procedure at regular time intervals.
This procedure is declared as follows:
PROCEDURE <Procedure Name>(<Total Size>, <Transferred Size>)
  • <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.
For example, you can:
  • display a progress bar,
  • find out whether the transfer is completed (<Total Size> = <Transferred Size>).
FTPSend 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 no value (neither True nor False) is returned by the <Procedure Name> procedure.

Time-out for transfer

By default, all the FTP functions fail if the FTP server does not respond within 20 seconds. This time-out can be modified by FTPConnect when connecting to the FTP server.
WINDEVWEBDEV - Server codeReports and QueriesWindows MobileAjaxUser code (UMC)

Internet browser

FTPSend 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 write rights on the FTP server can send files to an FTP server. In most cases, no write 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.
AndroidAndroid Widget

Required permissions

The call to this function modifies the permissions required by the application.
Required permission : INTERNET
This permission allows the applications to open the network sockets.
Components
WINDEVWEBDEV - Server codeReports and Queries wd230com.dll
Windows Mobile wp230com.dll
Java wd230java.jar
Linux wd230com.so
Android wd230android.jar
Minimum required version
  • Version 9
This page is also available for…
Comments
FTPSEND -
s_arquivo_endereco_local is string=ftp_conf.endereco_local+TABLE_local.COL_nome_arquivo // "d:\erpmatos\Atualizacao\matosnfe.jpg"
s_arquivo_endereco_remoto is string=ftp_conf.endereco_remoto+TABLE_local.COL_nome_arquivo // "/web/_Windev_Erp_matos/matosnfe.jpg"
// TRANSFERENCIA
IF FTPSend(n_conexao,s_arquivo_endereco_local,s_arquivo_endereco_remoto,_transferencia) = False THEN
Info("erro transferencia")
END
// TRANSFERENCIA
// ESSA PROCEDURE ESTA LINKADA AO FTPSEND
PROCEDURE _transferencia(nTotal, nCurrent)
Gauge(nCurrent,nTotal) // vai gerar uma barra de progresso status
// tem de estar com status de mensagem na windows ativa
RESULT True
De matos AMARILDO
Jan. 04 2016