Objective-C
Objective-C
Upload File with User-Defined Metadata
See more Amazon S3 Examples
Demonstrates how to upload a file with user-defined metadata to the Amazon S3 service.Chilkat Objective-C Downloads
#import <CkoHttp.h>
#import <NSString.h>
BOOL success = NO;
// This example assumes the Chilkat 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";
// User-defined metadata are name/value pairs, and are added to the HTTP request header.
// Header names must begin with "x-amz-meta-" to distinguish them from other HTTP headers.
// Note that Amazon S3 stores user-defined metadata keys in lowercase.
// For example, to add genus=Hippocampus, we do this:
[http SetRequestHeader: @"x-amz-meta-genus" value: @"Hippocampus"];
// Add a few more user-metadata key pairs.
[http SetRequestHeader: @"x-amz-meta-species" value: @"big-belly seahorse"];
[http SetRequestHeader: @"x-amz-meta-habitat" value: @"shallow tropical and temperate waters"];
success = [http S3_UploadFile: localFilePath contentType: contentType bucketName: bucketName ObjectName: objectName];
if (success != YES) {
NSLog(@"%@",http.LastErrorText);
}
else {
NSLog(@"%@",@"File uploaded.");
}