PureBasic
PureBasic
Download Text File into String Variable
See more FTP Examples
Download a text file directly into a string variable.Chilkat PureBasic Downloads
IncludeFile "CkFtp2.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
ftp.i = CkFtp2::ckCreate()
If ftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkFtp2::setCkHostname(ftp, "ftp.someFtpServer.com")
CkFtp2::setCkUsername(ftp, "myFtpUserAccount")
CkFtp2::setCkPassword(ftp, "myFtpPassword")
; Set other possible settings...
; See http://www.cknotes.com/determining-ftp2-connection-settings/
; for more information about FTP connection settings.
CkFtp2::setCkPassive(ftp, 1)
CkFtp2::setCkAuthTls(ftp, 1)
; Connect and login to the FTP server.
success = CkFtp2::ckConnect(ftp)
If success <> 1
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndIf
; Change to the remote directory where the existing file is located.
success = CkFtp2::ckChangeRemoteDir(ftp,"junk")
If success <> 1
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndIf
; Download the contents of the remote file into a string variable.
; The GetRemoteFileTextData method assumes the remote file contains ANSI chars.
; To download text files containing non-ANSI text, such as utf-8, call GetRemoteFileTextC
; instead. (see below)
fileContents.s = CkFtp2::ckGetRemoteFileTextData(ftp,"ansiText.txt")
If CkFtp2::ckLastMethodSuccess(ftp) <> 1
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
Else
Debug fileContents
EndIf
; To download a remote text file containing utf-8 chars,
; call GetRemoteFileTextC and pass "utf-8" for the 2nd arg. This tells
; Chilkat to interpret the incoming bytes according to the utf-8 character encoding.
fileContents = CkFtp2::ckGetRemoteFileTextC(ftp,"utf8Text.txt","utf-8")
If CkFtp2::ckLastMethodSuccess(ftp) <> 1
Debug CkFtp2::ckLastErrorText(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
Else
Debug fileContents
EndIf
success = CkFtp2::ckDisconnect(ftp)
CkFtp2::ckDispose(ftp)
ProcedureReturn
EndProcedure