Sample code for 30+ languages & platforms
PowerShell

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 PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

$upload = New-Object 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 -ne $true) {
    $($upload.LastErrorText)
}
else {
    $("Upload started..")
}

# Wait for the upload to finish.
# Print the progress as we wait...
while (($upload.UploadInProgress -eq $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:
    $([string]$upload.PercentUploaded + "% " + $upload.NumBytesSent + "/" + $upload.TotalUploadSize)

    # Sleep 2/10ths of a second.
    $upload.SleepMs(200)

}

# Did the upload succeed?
if ($upload.UploadSuccess -eq $true) {
    $("Files uploaded!")
}
else {
    $($upload.LastErrorText)
}