在iOS中设置Amazon S3上的文件权限

您所在的位置:网站首页 sftp权限设置 在iOS中设置Amazon S3上的文件权限

在iOS中设置Amazon S3上的文件权限

2023-03-26 16:36| 来源: 网络整理| 查看: 265

我正在上传一个文件到我的S3存储桶,我希望它具有公共读取权限。这似乎应该很简单,但就像我生活中的许多事情一样,它并不简单。寻找答案,我找到的最接近的提示是:在PUT请求中添加header:x-amz-acl:公共读取这看起来很简单,但我使用的是AWSS 3 TransferUtilityUploadExpression,而不是PUT,并且试图在AWSS 3 TransferUtilityUploadExpression上设置requestHeader失败- setValue:forRequestHeader:无法识别,所以我使用requestParamaters代替,但这也不起作用。我已经搜索和阅读,直到我的眼睛模糊。有人可以帮助吗?我的代码到目前为止:

AWSS3TransferUtilityUploadExpression *expression = [AWSS3TransferUtilityUploadExpression new]; // expression.uploadProgress = self.uploadProgress; [expression.requestParameters setValue:@"public-read" forKey:@"x-amz-acl"]; AWSTask *atask; AWSS3TransferUtility *transferUtility = [AWSS3TransferUtility defaultS3TransferUtility]; NSLog(@"started file trans: %@", self.fileToSend.fileURL); [atask = [transferUtility uploadFile:self.fileToSend.fileURL bucket:S3BucketName key:self.fileToSend.fileName contentType:self.fileToSend.mimeType expression:expression completionHander:self.completionHandler] continueWithBlock:^id(AWSTask *task) {

编辑:一些进展。我发现我使用的是过时版本的SDK和最新版本的文档。另一个愚蠢的错误。无论如何,更新SDK并重新编译后,它运行,但创建和异常'NSUnknownKeyException',原因:'[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key x-amz-acl.'编辑:好的。修正了。通过组合提示,后退一步,我将请求标题行更改为:

[expression setValue:@"public-read" forRequestHeader:@"x-amz-acl"];

感谢响应者。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3