Perl
Chilkat2 Perl
REST Download Binary File to Memory
See more REST Examples
Download a binary file to a Chilkat BinData object.Chilkat Perl Downloads
use strict;
use warnings;
use Chilkat2;
# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
my $rest = Chilkat2::Rest->new;
# We're going to download a sample MS-Word doc file.
# The URLs of our MS-Word sample documents are:
# https://www.chilkatdownload.com/sample_data/sample.doc
# https://www.chilkatdownload.com/sample_data/sample.docx
my $pathPartOfUrl = '/sample_data/sample.doc';
my $domain = 'chilkatdownload.com';
my $bTls = 1;
my $port = 443;
my $bAutoReconnect = 1;
my $success = $rest->Connect($domain, $port, $bTls, $bAutoReconnect);
if (!$success) {
print $rest->LastErrorText, "\n";
exit;
}
my $bd = Chilkat2::BinData->new;
$success = $rest->FullRequestNoBodyBd('GET', $pathPartOfUrl, $bd);
if (!$success) {
print $rest->LastErrorText, "\n";
exit;
}
# A 200 response is expected for actual success.
# If we don't get a 200 response, then the response body was not actually
# the file data, but it was text containing error information.
if ($rest->ResponseStatusCode != 200) {
my $sbErrorText = Chilkat2::StringBuilder->new;
$sbErrorText->AppendBd($bd, 'utf-8', 0, 0);
print $sbErrorText->GetAsString(), "\n";
print "-- Failed.\n";
exit;
}
# Save to a local file.
# Change the file path based on your operating system or needs...
$success = $bd->WriteFile('c:/temp/qa_output/sample.doc');
if (!$success) {
print "Failed to save to local file.\n";
exit;
}
print "REST Download of MS-Word File was successful.\n";