Sample code for 30+ languages & platforms
Visual FoxPro

Download an FTP File as Text with a Charset

See more FTP Examples

Demonstrates the Chilkat Ftp2.GetRemoteFileTextC method, which downloads a remote file, decodes the bytes using a named charset, and returns the text. The first argument is the remote filename and the second is the charset. A byte-order mark for the selected encoding is recognized and omitted.

Background: This is the encoding-aware way to read a remote text file: you name the charset (utf-8, iso-8859-1, and so on) so multibyte and accented characters decode correctly, and a leading BOM is stripped automatically. Prefer it over GetRemoteFileTextData whenever the file's encoding is known, which is almost always.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loFtp
LOCAL lcFileText

lnSuccess = 0

*  Demonstrates the Ftp2.GetRemoteFileTextC method, which downloads a remote file, decodes the
*  bytes using a named charset, and returns the text.  The 1st argument is the remote filename
*  and the 2nd is the charset.

loFtp = CreateObject('Chilkat.Ftp2')

loFtp.Hostname = "ftp.example.com"
loFtp.Username = "myFtpLogin"

*  Normally you would not hard-code the password in source.  You should instead obtain it
*  from an interactive prompt, environment variable, or a secrets vault.
loFtp.Password = "myPassword"

lnSuccess = loFtp.Connect()
IF (lnSuccess = 0) THEN
    ? loFtp.LastErrorText
    RELEASE loFtp
    CANCEL
ENDIF

*  Download a UTF-8 text file.  A byte-order mark for the selected encoding is recognized and
*  omitted from the returned text.
lcFileText = loFtp.GetRemoteFileTextC("public_html/readme.txt","utf-8")
IF (loFtp.LastMethodSuccess = 0) THEN
    ? loFtp.LastErrorText
    RELEASE loFtp
    CANCEL
ENDIF

? lcFileText

lnSuccess = loFtp.Disconnect()
IF (lnSuccess = 0) THEN
    ? loFtp.LastErrorText
    RELEASE loFtp
    CANCEL
ENDIF

RELEASE loFtp