Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

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

ftp = Chilkat::CkFtp2.new()

ftp.put_Hostname("www.my-ftp-server.com")
ftp.put_Username("mFtpLogin")
ftp.put_Password("myFtpPassword")

# Connect to the FTP server.
success = ftp.ConnectOnly()
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# Authenticate with the FTP server.
success = ftp.LoginAfterConnectOnly()
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

bdA = Chilkat::CkBinData.new()
bdA.LoadFile("qa_data/jpg/penguins.jpg")

# Upload the contents of bdA to the FTP server.
remoteFilename = "penguins.jpg"
success = ftp.PutFileBd(bdA,remoteFilename)
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# Download...
bdB = Chilkat::CkBinData.new()
success = ftp.GetFileBd(remoteFilename,bdB)
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# Verify that bdA and bdB have the exact same contents.
print "size of bdA: " + bdA.get_NumBytes().to_s() + "\n";
if (bdA.ContentsEqual(bdB) == true)
    print "Contents are equal. Success." + "\n";
else
    print "Contents are NOT equal.  Failed." + "\n";
end

ftp.Disconnect()