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
(C++) 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.
#include <CkUpload.h> void ChilkatSample(void) { CkUpload upload; // Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc) // that will process the HTTP Upload. upload.put_Hostname("www.mywebserver.com"); upload.put_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.put_BandwidthThrottleUp(65536); // Begin the HTTP upload in a background thread: bool success = upload.BeginUpload(); if (success != true) { std::cout << upload.lastErrorText() << "\r\n"; } else { std::cout << "Upload started..." << "\r\n"; } // Wait for the upload to finish. // Print the progress as we wait... while ((upload.get_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: std::cout << upload.get_PercentUploaded() << "% " << upload.get_NumBytesSent() << "/" << upload.get_TotalUploadSize() << "\r\n"; // Sleep 2/10ths of a second. upload.SleepMs(200); } // Did the upload succeed? if (upload.get_UploadSuccess() == true) { std::cout << "Files uploaded!" << "\r\n"; } else { std::cout << upload.lastErrorText() << "\r\n"; } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.