Sample code for 30+ languages & platforms
Objective-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 Objective-C Downloads

Objective-C
#import <CkoHttp.h>
#import <NSString.h>

BOOL success = NO;

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

CkoHttp *http = [[CkoHttp alloc] init];

// Insert your AWS keys here:
http.AwsAccessKey = @"AWS_ACCESS_KEY";
http.AwsSecretKey = @"AWS_SECRET_KEY";

NSString *bucketName = @"chilkat.ocean";
NSString *objectName = @"seahorse.jpg";
NSString *localFilePath = @"qa_data/jpg/seahorse.jpg";
NSString *contentType = @"image/jpg";

// Add the x-amz-acl request header to make the file publicly readable.
[http SetRequestHeader: @"x-amz-acl" value: @"public-read"];

success = [http S3_UploadFile: localFilePath contentType: contentType bucketName: bucketName ObjectName: objectName];

if (success != YES) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

if ([http.LastStatus intValue] == 200) {
    NSLog(@"%@",@"File uploaded.");
}
else {
    NSLog(@"%@%d",@"Response status code: ",[http.LastStatus intValue]);
    NSLog(@"%@",http.LastResponseBody);
}