Sample code for 30+ languages & platforms
Perl

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

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

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

my $ftp = Chilkat2::Ftp2->new;

$ftp->Hostname('www.my-ftp-server.com');
$ftp->Username('mFtpLogin');
$ftp->Password('myFtpPassword');

# Connect to the FTP server.
my $success = $ftp->ConnectOnly();
if (!$success) {
    print $ftp->LastErrorText, "\n";
    exit;
}

# Authenticate with the FTP server.
$success = $ftp->LoginAfterConnectOnly();
if (!$success) {
    print $ftp->LastErrorText, "\n";
    exit;
}

my $bdA = Chilkat2::BinData->new;
$bdA->LoadFile('qa_data/jpg/penguins.jpg');

# Upload the contents of bdA to the FTP server.
my $remoteFilename = 'penguins.jpg';
$success = $ftp->PutFileBd($bdA, $remoteFilename);
if (!$success) {
    print $ftp->LastErrorText, "\n";
    exit;
}

# Download...
my $bdB = Chilkat2::BinData->new;
$success = $ftp->GetFileBd($remoteFilename, $bdB);
if (!$success) {
    print $ftp->LastErrorText, "\n";
    exit;
}

# Verify that bdA and bdB have the exact same contents.
print 'size of bdA: ', $bdA->NumBytes, "\n";
if ($bdA->ContentsEqual($bdB)) {
    print "Contents are equal. Success.\n";
} else {
    print "Contents are NOT equal.  Failed.\n";
}

$ftp->Disconnect();