Sample code for 30+ languages & platforms
Perl

HTTPS Upload File to Web Server

See more HTTP Examples

Uploads a file to a web server using HTTPS.

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.

# The ContentType, HttpVerb, and Path properties should
# always be explicitly set.
$req = chilkat::CkHttpRequest->new();
$req->put_HttpVerb("POST");
$req->put_Path("/receiveMyUpload.aspx");
$req->put_ContentType("multipart/form-data");

$req->AddStringForUpload("fileA","fileA.txt","This is the contents of file A","utf-8");
$success = $req->AddFileForUpload("starfish.jpg","qa_data/jpg/starfish.jpg");
if ($success == 0) {
    print $req->lastErrorText() . "\r\n";
    exit;
}

$http = chilkat::CkHttp->new();

# ----------------------------------------------------------------------------
# IMPORTANT:
# HTTP uploads require a counterpart implementation on the server, written in any desired language
# such as C#, Classic ASP, PHP, etc., which consumes the upload being sent.
# See: ASP.NET Receive Upload
# ----------------------------------------------------------------------------

# Do the upload.
$useSslTls = 1;
$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpSReq("www.example.com",443,$useSslTls,$req,$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print "response status code = " . $resp->get_StatusCode() . "\r\n";
print "response body:" . "\r\n";
print $resp->bodyStr() . "\r\n";