Sample code for 30+ languages & platforms
Lianja

FTP Upload / Download to a BinData Object

Demonstrates how to FTP upload the contents of a BinData object, and FTP downloads to the a BinData 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

loBdA = createobject("CkBinData")
loBdA.LoadFile("qa_data/jpg/penguins.jpg")

// Upload the contents of bdA to the FTP server.
lcRemoteFilename = "penguins.jpg"
llSuccess = loFtp.PutFileBd(loBdA,lcRemoteFilename)
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    release loBdA
    return
endif

// Download...
loBdB = createobject("CkBinData")
llSuccess = loFtp.GetFileBd(lcRemoteFilename,loBdB)
if (llSuccess <> .T.) then
    ? loFtp.LastErrorText
    release loFtp
    release loBdA
    release loBdB
    return
endif

// Verify that bdA and bdB have the exact same contents.
? "size of bdA: " + str(loBdA.NumBytes)
if (loBdA.ContentsEqual(loBdB) = .T.) then
    ? "Contents are equal. Success."
else
    ? "Contents are NOT equal.  Failed."
endif

loFtp.Disconnect()


release loFtp
release loBdA
release loBdB