I'm struggling to define cache control when uploading images via the AWSS3TransferUtility
(AWS-iOS-SDK v2.4.x).
My simplified usage is like:
let utility = AWSS3TransferUtility.S3TransferUtilityForKey("key")
let data = UIImageJPEGRepresentation(image, 0.9)!
let expression = AWSS3TransferUtilityUploadExpression()
expression.progressBlock = { (task, progress) in
onProgress?(progress: progress.fractionCompleted)
}
transferUtility.uploadData(data, bucket: GlobalConfig.awsS3DefaultBucket, key: "image.jpeg", contentType: "image/jpeg", expression: expression) { (task, error) in
// ...
}
My current focus was on the expression, but calls like expression.setValue("max-age=3600", forRequestParameter: "Cache-Control")
didn't work.
Do not use forRequestParameter use forRequestHeader
example:
let expression = AWSS3TransferUtilityUploadExpression()
expression.setValue("max-age=3600", forRequestHeader: "Cache-Control")