Sample code for 30+ languages & platforms
Xbase++

Asynchronous HTTPS Upload (TLS)

See more Upload Examples

Demonstrates how to do an HTTPS (TLS) upload asynchronously in a background thread.

A server-side C# example showing how to receive an upload is located at C# ASP.NET Code to Receive Upload

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oUpload

nSuccess := 0

oUpload := CreateObject("Chilkat.Upload")

//  Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc)
//  that will process the HTTP Upload.
oUpload:Hostname := "www.mywebserver.com"
oUpload:Path := "/receiveUpload.aspx"

//  Add one or more files to be uploaded.
oUpload:AddFileReference("file1", "dude.gif")
oUpload:AddFileReference("file2", "pigs.xml")
oUpload:AddFileReference("file3", "sample.doc")

//  To upload using SSL/TLS (https), set the Ssl property = 1
oUpload:Ssl := 1

//  Begin the HTTP upload in a background thread:
nSuccess := oUpload:BeginUpload()
IF (nSuccess != 1)
    ? oUpload:LastErrorText
ELSE
    ? "Upload started.."
ENDIF

//  Wait for the upload to finish.
//  Print the progress as we wait...
DO WHILE (oUpload:UploadInProgress == 1)
    //  We can abort the upload at any point by calling:
    //  upload.AbortUpload();

    //  Display the percentage complete and the number of bytes uploaded so far..
    //  The total upload size will become set after the upload begins:
    ? Str(oUpload:PercentUploaded) + "% " + Str(oUpload:NumBytesSent) + "/" + Str(oUpload:TotalUploadSize)

    //  Sleep 2/10ths of a second.
    oUpload:SleepMs(200)

ENDDO

//  Did the upload succeed?
IF (oUpload:UploadSuccess == 1)
    ? "Files uploaded!"
ELSE
    ? oUpload:LastErrorText
ENDIF

oUpload:destroy()