Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

Dim upload As New Chilkat.Upload

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

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

// To upload using SSL/TLS (https), set the Ssl property = True
upload.Ssl = True

// Begin the HTTP upload in a background thread:
success = upload.BeginUpload()
If (success <> True) Then
    System.DebugLog(upload.LastErrorText)
Else
    System.DebugLog("Upload started..")
End If

// Wait for the upload to finish.
// Print the progress as we wait...
While (upload.UploadInProgress = True)
    // 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:
    System.DebugLog(Str(upload.PercentUploaded) + "% " + Str(upload.NumBytesSent) + "/" + Str(upload.TotalUploadSize))

    // Sleep 2/10ths of a second.
    upload.SleepMs 200

Wend

// Did the upload succeed?
If (upload.UploadSuccess = True) Then
    System.DebugLog("Files uploaded!")
Else
    System.DebugLog(upload.LastErrorText)
End If