Sample code for 30+ languages & platforms
Unicode C++

HTTPS Upload File to Web Server

See more HTTP Examples

Uploads a file to a web server using HTTPS.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkHttpRequestW.h>
#include <CkHttpW.h>
#include <CkHttpResponseW.h>

void ChilkatSample(void)
    {
    bool success = false;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // The ContentType, HttpVerb, and Path properties should
    // always be explicitly set.
    CkHttpRequestW req;
    req.put_HttpVerb(L"POST");
    req.put_Path(L"/receiveMyUpload.aspx");
    req.put_ContentType(L"multipart/form-data");

    req.AddStringForUpload(L"fileA",L"fileA.txt",L"This is the contents of file A",L"utf-8");
    success = req.AddFileForUpload(L"starfish.jpg",L"qa_data/jpg/starfish.jpg");
    if (success == false) {
        wprintf(L"%s\n",req.lastErrorText());
        return;
    }

    CkHttpW http;

    // ----------------------------------------------------------------------------
    // IMPORTANT:
    // HTTP uploads require a counterpart implementation on the server, written in any desired language
    // such as C#, Classic ASP, PHP, etc., which consumes the upload being sent.
    // See: ASP.NET Receive Upload
    // ----------------------------------------------------------------------------

    // Do the upload.
    bool useSslTls = true;
    CkHttpResponseW resp;
    success = http.HttpSReq(L"www.example.com",443,useSslTls,req,resp);
    if (success == false) {
        wprintf(L"%s\n",http.lastErrorText());
        return;
    }

    wprintf(L"response status code = %d\n",resp.get_StatusCode());
    wprintf(L"response body:\n");
    wprintf(L"%s\n",resp.bodyStr());
    }