PowerShell
PowerShell
Bandwidth Throttled Asynchronous HTTP Upload
See more Upload Examples
Demonstrates how to do an HTTP upload asynchronously in a background thread with limiting the rate to an approximate number of bytes/second. The only difference between this example and one without bandwidth throttling is that the BandwidthThrottleUp property is set.Chilkat PowerShell Downloads
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")
# Set the BandwidthThrottleUp property to throttle to approx 64K/second
$upload.BandwidthThrottleUp = 65536
# 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)
}