Sample code for 30+ languages & platforms
AutoIt

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

AutoIt
Local $bSuccess = False

$oUpload = ObjCreate("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"

; Set the BandwidthThrottleUp property to throttle to approx 64K/second
$oUpload.BandwidthThrottleUp = 65536

; Begin the HTTP upload in a background thread:
$bSuccess = $oUpload.BeginUpload()
If ($bSuccess <> True) Then
    ConsoleWrite($oUpload.LastErrorText & @CRLF)
Else
    ConsoleWrite("Upload started..." & @CRLF)
EndIf

; Wait for the upload to finish.
; Print the progress as we wait...
While ($oUpload.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:
    ConsoleWrite($oUpload.PercentUploaded & "% " & $oUpload.NumBytesSent & "/" & $oUpload.TotalUploadSize & @CRLF)

    ; Sleep 2/10ths of a second.
    $oUpload.SleepMs 200

Wend

; Did the upload succeed?
If ($oUpload.UploadSuccess = True) Then
    ConsoleWrite("Files uploaded!" & @CRLF)
Else
    ConsoleWrite($oUpload.LastErrorText & @CRLF)
EndIf