如何为 AWSS3TransferUtility 定义缓存控制

How to define cache control for AWSS3TransferUtility

通过 AWSS3TransferUtility (AWS-iOS-SDK v2.4.x).

上传图像时,我正在努力定义缓存控制

我的简化用法是这样的:

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
    // ...
}

我目前的重点是表达式,但像 expression.setValue("max-age=3600", forRequestParameter: "Cache-Control") 这样的调用不起作用。

不要使用forRequestParameter 使用forRequestHeader

示例:

let expression = AWSS3TransferUtilityUploadExpression()
expression.setValue("max-age=3600", forRequestHeader: "Cache-Control")