Sample code for 30+ languages & platforms
Lianja

FTP Upload / Download to StringBuilder

Demonstrate how to upload from a Chilkat StringBuilder object, and download into a StringBuilder object.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// This example assumes Chilkat Ftp2 to have been previously unlocked.
// See Unlock Ftp2 for sample code.

loFtp = createobject("CkFtp2")

loFtp.Hostname = "www.my-ftp-server.com"
loFtp.Username = "mFtpLogin"
loFtp.Password = "myFtpPassword"

// Connect to the FTP server.
llSuccess = loFtp.ConnectOnly()
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    return
endif

// Authenticate with the FTP server.
llSuccess = loFtp.LoginAfterConnectOnly()
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    return
endif

loSbA = createobject("CkStringBuilder")
loSbA.LoadFile("qa_data/hamlet.xml","utf-8")

// Upload the contents of sbA to the FTP server.
llBIncludeBOM = .F.
lcRemoteFilename = "hamletFromSb.xml"
llSuccess = loFtp.PutFileSb(loSbA,"utf-8",llBIncludeBOM,lcRemoteFilename)
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    release loSbA
    return
endif

// Download...
loSbB = createobject("CkStringBuilder")
llSuccess = loFtp.GetFileSb(lcRemoteFilename,"utf-8",loSbB)
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    release loSbA
    release loSbB
    return
endif

// Verify that sbA and sbB have the exact same contents.
? "size of sbA: " + str(loSbA.Length)
llBCaseSensitive = .T.
if (loSbA.ContentsEqualSb(loSbB,llBCaseSensitive) = .T.) then
    ? "Contents are equal. Success."
else
    ? "Contents are NOT equal.  Failed."
endif

loFtp.Disconnect()


release loFtp
release loSbA
release loSbB