Perl
Chilkat2 Perl
FTP Upload / Download to StringBuilder
Demonstrate how to upload from a Chilkat StringBuilder object, and download into a StringBuilder object.Chilkat Perl Downloads
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 $sbA = Chilkat2::StringBuilder->new;
$sbA->LoadFile('qa_data/hamlet.xml', 'utf-8');
# Upload the contents of sbA to the FTP server.
my $bIncludeBOM = 0;
my $remoteFilename = 'hamletFromSb.xml';
$success = $ftp->PutFileSb($sbA, 'utf-8', $bIncludeBOM, $remoteFilename);
if (!$success) {
print $ftp->LastErrorText, "\n";
exit;
}
# Download...
my $sbB = Chilkat2::StringBuilder->new;
$success = $ftp->GetFileSb($remoteFilename, 'utf-8', $sbB);
if (!$success) {
print $ftp->LastErrorText, "\n";
exit;
}
# Verify that sbA and sbB have the exact same contents.
print 'size of sbA: ', $sbA->Length, "\n";
my $bCaseSensitive = 1;
if ($sbA->ContentsEqualSb($sbB, $bCaseSensitive)) {
print "Contents are equal. Success.\n";
} else {
print "Contents are NOT equal. Failed.\n";
}
$ftp->Disconnect();