Sample code for 30+ languages & platforms
Perl

REST File Upload (multipart/form-data)

See more REST Examples

Demonstrates how to upload a file using multipart/form-data.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$rest = chilkat::CkRest->new();

# Connect to the HTTP server using TLS.
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
# Make sure to replace "www.chilkatsoft.com" with your domain..
$success = $rest->Connect("www.chilkatsoft.com",$port,$bTls,$bAutoReconnect);
if ($success != 1) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

$fileStream = chilkat::CkStream->new();
$fileStream->put_SourceFile("qa_data/jpg/starfish.jpg");

$rest->AddHeader("Content-Type","multipart/form-data");

$rest->put_PartSelector("1");
$rest->AddHeader("Content-Type","image/jpg");
$rest->AddHeader("Content-Disposition","form-data; name=\"filename\"; filename=\"starfish.jpg\"");
$rest->SetMultipartBodyStream($fileStream);
$rest->put_PartSelector("0");

$responseBody = $rest->fullRequestMultipart("POST","/the_uri_path_to_receive_the_upload");
if ($rest->get_LastMethodSuccess() != 1) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

if ($rest->get_ResponseStatusCode() != 200) {
    print "Received error response code: " . $rest->get_ResponseStatusCode() . "\r\n";
    exit;
}

print "File uploaded" . "\r\n";