Sample code for 30+ languages & platforms
C

Demonstrate S3_UploadBytes

Demonstrates how to upload a file to the Amazon S3 service.

Chilkat C Downloads

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

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttp http;
    const char *bucketName;
    const char *objectName;
    const char *localFilePath;
    const char *contentType;
    HCkBinData jpgData;
    HCkByteData jpgBytes;

    success = FALSE;

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

    http = CkHttp_Create();

    CkHttp_putAwsAccessKey(http,"AWS_ACCESS_KEY");
    CkHttp_putAwsSecretKey(http,"AWS_SECRET_KEY");

    bucketName = "chilkat.qa";
    objectName = "images/sea_creatures/starfish.jpg";
    localFilePath = "qa_data/jpg/starfish.jpg";
    contentType = "image/jpg";

    jpgData = CkBinData_Create();
    success = CkBinData_LoadFile(jpgData,localFilePath);
    if (!success) {
        printf("Failed to load %s\n",localFilePath);
        CkHttp_Dispose(http);
        CkBinData_Dispose(jpgData);
        return;
    }

    jpgBytes = CkByteData_Create();
    success = CkBinData_GetBinary(jpgData,jpgBytes);

    success = CkHttp_S3_UploadBytes(http,jpgBytes,contentType,bucketName,objectName);
    if (success != TRUE) {
        printf("%s\n",CkHttp_lastErrorText(http));
        CkHttp_Dispose(http);
        CkBinData_Dispose(jpgData);
        CkByteData_Dispose(jpgBytes);
        return;
    }

    printf("Success. File uploaded.\n");


    CkHttp_Dispose(http);
    CkBinData_Dispose(jpgData);
    CkByteData_Dispose(jpgBytes);

    }