Class: | FTP_SERVICE |
Type | Character |
Direction | Input |
Type | Character |
Direction | Input |
Type | Boolean |
Direction | Input |
Type | Numeric |
Direction | Input |
Value | Description |
FTP_TRANSFER_TYPE_ASCII | Transfers the file as ASCII. |
FTP_TRANSFER_TYPE_BINARY | Transfers the file as binary. |
FTP_TRANSFER_TYPE_UNKNOWN | Defaults to FTP_TRANSFER_TYPE_BINARY. |
INTERNET_FLAG_TRANSFER_ASCII | Transfers the file as ASCII. |
INTERNET_FLAG_TRANSFER_BINARY | Transfers the file as binary. |
LOCAL loFTP SET PROCEDURE TO ftp.prg ADDITIVE loFTP=CREATEOBJECT('ftp_service') IF loFTP.OpenInternet("ABONNE", "PWD", "10.10.10.10", "21") IF loFTP.GetFTPFile("any.txt","local.txt") ?STRTRAN("File %File% downloaded","%File%","local.txt") ELSE ?loFTP.GetExtendedErrorCode(),loFTP.GetExtendedErrorMsg() ENDIF =loFTP.CloseInternet() ENDIF RELEASE PROCEDURE ftp.prg
LPARAMETERS INP lcRemoteFile, INP lcLocalFile, INP llFailIfExists, INP lnFlag LOCAL fResult, lnFail IF EMPTY(lcRemoteFile) OR EMPTY(lcLocalFile) RETURN .F. ENDIF lnFlag=IIF(PCOUNT()<4,0,lnFlag) IF This.OpenFTPConnection(This.cStartupFolder) && Open an FTP Handle lnFail=IIF(llFailIfExists,1,0) lcLocalFile = lcLocalFile + cNULL lcRemoteFile = lcRemoteFile + cNULL =This.BeforeGetFTPFile(@lcRemoteFile, @lcLocalFile, llFailIfExists,lnFlag) fResult = FtpGetFile(This.nConnect_Handle, @lcRemoteFile, @lcLocalFile, lnFail, ; FILE_ATTRIBUTE_NORMAL, BITOR(FTP_TRANSFER_TYPE_BINARY,BITOR(This.nCachingType,lnFlag)), 0) =This.GetExtendedError() =This.AfterGetFTPFile(@lcRemoteFile, @lcLocalFile, llFailIfExists,lnFlag,fResult) =IIF(This.lMultiOperations,.T.,This.CloseFTPConnection()) && Close FTP Handle RETURN fResult = 1 ENDIF RETURN .F.