Unicode C++
Unicode C++
Asynchronous HTTPS Upload (TLS)
See more Upload Examples
Demonstrates how to do an HTTPS (TLS) upload asynchronously in a background thread.A server-side C# example showing how to receive an upload is located at C# ASP.NET Code to Receive Upload
Chilkat Unicode C++ Downloads
#include <CkUploadW.h>
void ChilkatSample(void)
{
bool success = false;
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");
// To upload using SSL/TLS (https), set the Ssl property = true
upload.put_Ssl(true);
// Begin the HTTP upload in a background thread:
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"%u% %u/%u\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());
}
}