Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Bandwidth Throttled Asynchronous HTTP UploadDemonstrates 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.
Use ChilkatAx-win32.pkg Procedure Test Handle hoUpload Boolean iSuccess String sTemp1 Integer iTemp1 Integer iTemp2 Integer iTemp3 Boolean bTemp1 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 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.