Sample code for 30+ languages & platforms
PowerBuilder

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

PowerBuilder
integer li_rc
long li_Success
oleobject loo_Upload

li_Success = 0

loo_Upload = create oleobject
li_rc = loo_Upload.ConnectToNewObject("Chilkat.Upload")
if li_rc < 0 then
    destroy loo_Upload
    MessageBox("Error","Connecting to COM object failed")
    return
end if

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

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

//  Set the BandwidthThrottleUp property to throttle to approx 64K/second
loo_Upload.BandwidthThrottleUp = 65536

//  Begin the HTTP upload in a background thread:
li_Success = loo_Upload.BeginUpload()
if li_Success <> 1 then
    Write-Debug loo_Upload.LastErrorText
else
    Write-Debug "Upload started..."
end if

//  Wait for the upload to finish.
//  Print the progress as we wait...
do while (loo_Upload.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:
    Write-Debug string(loo_Upload.PercentUploaded) + "% " + string(loo_Upload.NumBytesSent) + "/" + string(loo_Upload.TotalUploadSize)

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

loop

//  Did the upload succeed?
if loo_Upload.UploadSuccess = 1 then
    Write-Debug "Files uploaded!"
else
    Write-Debug loo_Upload.LastErrorText
end if



destroy loo_Upload