Sample code for 30+ languages & platforms
C

Backblaze S3 Upload Binary

See more Backblaze S3 Examples

Demonstrates how to upload the in-memory binary data to an Backblaze bucket.

Chilkat C Downloads

C
#include <C_CkHttp.h>
#include <C_CkBinData.h>
#include <C_CkXml.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttp http;
    const char *bucketName;
    const char *objectName;
    const char *contentType;
    HCkBinData jpgData;
    HCkXml xml;

    success = FALSE;

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

    http = CkHttp_Create();

    // keyID = Access Key ID or Access Key
    CkHttp_putAwsAccessKey(http,"access-key");

    // applicationKey = Secret Access Key or Secret Key
    CkHttp_putAwsSecretKey(http,"secret-key");

    // Region is the 2nd part of your S3 Endpoint
    CkHttp_putAwsEndpoint(http,"s3.us-west-002.backblazeb2.com");

    bucketName = "chilkat-test-123";
    objectName = "starfish.jpg";

    // The Content-Type has the form  type/subtype, such as application/pdf, application/json, image/jpeg, etc.
    // See Explaining Content-Types
    contentType = "image/jpeg";

    CkHttp_putKeepResponseBody(http,TRUE);

    jpgData = CkBinData_Create();
    success = CkBinData_LoadFile(jpgData,"qa_data/jpg/starfish.jpg");

    success = CkHttp_S3_UploadBd(http,jpgData,contentType,bucketName,objectName);
    if (success != TRUE) {
        printf("%s\n",CkHttp_lastErrorText(http));

        xml = CkXml_Create();
        CkXml_LoadXml(xml,CkHttp_lastResponseBody(http));
        printf("%s\n",CkXml_getXml(xml));
    }
    else {
        printf("JPG uploaded.\n");
    }



    CkHttp_Dispose(http);
    CkBinData_Dispose(jpgData);
    CkXml_Dispose(xml);

    }