Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3/4 Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Unicode 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 <CkUploadW.h> void ChilkatSample(void) { CkUploadW upload; // Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc) // that will process the HTTP Upload. upload.put_Hostname(L"www.mywebserver.com"); upload.put_Path(L"/receiveUpload.aspx"); // Add one or more files to be uploaded. upload.AddFileReference(L"file1",L"dude.gif"); upload.AddFileReference(L"file2",L"pigs.xml"); upload.AddFileReference(L"file3",L"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) { wprintf(L"%s\n",upload.lastErrorText()); } else { wprintf(L"Upload started...\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: wprintf(L"%d% %d/%d\n",upload.get_PercentUploaded(),upload.get_NumBytesSent(),upload.get_TotalUploadSize()); // Sleep 2/10ths of a second. upload.SleepMs(200); } // Did the upload succeed? if (upload.get_UploadSuccess() == true) { wprintf(L"Files uploaded!\n"); } else { wprintf(L"%s\n",upload.lastErrorText()); } } |
© 2000-2019 Chilkat Software, Inc. All Rights Reserved.