Sample code for 30+ languages & platforms
C++

HTTPS Upload File to Web Server

See more HTTP Examples

Uploads a file to a web server using HTTPS.

Chilkat C++ Downloads

C++
#include <CkHttpRequest.h>
#include <CkHttp.h>
#include <CkHttpResponse.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.
    CkHttpRequest req;
    req.put_HttpVerb("POST");
    req.put_Path("/receiveMyUpload.aspx");
    req.put_ContentType("multipart/form-data");

    req.AddStringForUpload("fileA","fileA.txt","This is the contents of file A","utf-8");
    success = req.AddFileForUpload("starfish.jpg","qa_data/jpg/starfish.jpg");
    if (success == false) {
        std::cout << req.lastErrorText() << "\r\n";
        return;
    }

    CkHttp 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;
    CkHttpResponse resp;
    success = http.HttpSReq("www.example.com",443,useSslTls,req,resp);
    if (success == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    std::cout << "response status code = " << resp.get_StatusCode() << "\r\n";
    std::cout << "response body:" << "\r\n";
    std::cout << resp.bodyStr() << "\r\n";
    }