PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Insert your AWS keys here:
CkHttp::setCkAwsAccessKey(http, "AWS_ACCESS_KEY")
CkHttp::setCkAwsSecretKey(http, "AWS_SECRET_KEY")
bucketName.s = "chilkat.ocean"
objectName.s = "seahorse.jpg"
localFilePath.s = "qa_data/jpg/seahorse.jpg"
contentType.s = "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:
CkHttp::ckSetRequestHeader(http,"x-amz-meta-genus","Hippocampus")
; Add a few more user-metadata key pairs.
CkHttp::ckSetRequestHeader(http,"x-amz-meta-species","big-belly seahorse")
CkHttp::ckSetRequestHeader(http,"x-amz-meta-habitat","shallow tropical and temperate waters")
success = CkHttp::ckS3_UploadFile(http,localFilePath,contentType,bucketName,objectName)
If success <> 1
Debug CkHttp::ckLastErrorText(http)
Else
Debug "File uploaded."
EndIf
CkHttp::ckDispose(http)
ProcedureReturn
EndProcedure