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) This.SetExtendedError(_FTPS_UE_FNDEF,"lcRemoteFile") RETURN .F. ENDIF IF EMPTY(lcLocalFile) This.SetExtendedError(_FTPS_UE_FNDEF,"lcLocalFile") RETURN .F. ENDIF lnFlag=IIF(PCOUNT()<4,FTP_TRANSFER_TYPE_UNKNOWN,lnFlag) IF This.OpenFTPConnection(This.cCurrentDir) && 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(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.