DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoUpload
String sTemp1
Integer iTemp1
Integer iTemp2
Integer iTemp3
Boolean bTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatUpload)) To hoUpload
If (Not(IsComObjectCreated(hoUpload))) Begin
Send CreateComObject of hoUpload
End
// Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc)
// that will process the HTTP Upload.
Set ComHostname Of hoUpload To "www.mywebserver.com"
Set ComPath Of hoUpload To "/receiveUpload.aspx"
// Add one or more files to be uploaded.
Send ComAddFileReference To hoUpload "file1" "dude.gif"
Send ComAddFileReference To hoUpload "file2" "pigs.xml"
Send ComAddFileReference To hoUpload "file3" "sample.doc"
// Set the BandwidthThrottleUp property to throttle to approx 64K/second
Set ComBandwidthThrottleUp Of hoUpload To 65536
// Begin the HTTP upload in a background thread:
Get ComBeginUpload Of hoUpload To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoUpload To sTemp1
Showln sTemp1
End
Else Begin
Showln "Upload started..."
End
// Wait for the upload to finish.
// Print the progress as we wait...
While ((ComUploadInProgress(hoUpload)) = 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:
Get ComPercentUploaded Of hoUpload To iTemp1
Get ComNumBytesSent Of hoUpload To iTemp2
Get ComTotalUploadSize Of hoUpload To iTemp3
Showln iTemp1 "% " iTemp2 "/" iTemp3
// Sleep 2/10ths of a second.
Send ComSleepMs To hoUpload 200
Loop
// Did the upload succeed?
Get ComUploadSuccess Of hoUpload To bTemp1
If (bTemp1 = True) Begin
Showln "Files uploaded!"
End
Else Begin
Get ComLastErrorText Of hoUpload To sTemp1
Showln sTemp1
End
End_Procedure