C
C
S3 Upload a File with Public Read Permissions
See more Amazon S3 Examples
Demonstrates how to upload a file to the Amazon S3 service with the x-amz-acl request header set to "public-read" to allow the file to be publicly downloadable.Chilkat C Downloads
#include <C_CkHttp.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
const char *bucketName;
const char *objectName;
const char *localFilePath;
const char *contentType;
success = FALSE;
// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
// Insert your AWS keys here:
CkHttp_putAwsAccessKey(http,"AWS_ACCESS_KEY");
CkHttp_putAwsSecretKey(http,"AWS_SECRET_KEY");
bucketName = "chilkat.ocean";
objectName = "seahorse.jpg";
localFilePath = "qa_data/jpg/seahorse.jpg";
contentType = "image/jpg";
// Add the x-amz-acl request header to make the file publicly readable.
CkHttp_SetRequestHeader(http,"x-amz-acl","public-read");
success = CkHttp_S3_UploadFile(http,localFilePath,contentType,bucketName,objectName);
if (success != TRUE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
return;
}
if (CkHttp_getLastStatus(http) == 200) {
printf("File uploaded.\n");
}
else {
printf("Response status code: %d\n",CkHttp_getLastStatus(http));
printf("%s\n",CkHttp_lastResponseBody(http));
}
CkHttp_Dispose(http);
}