gpt4 book ai didi

ios - 如何使用 iOS 将文件上传到 Amazon S3 并获取 url 作为响应

转载 作者:可可西里 更新时间:2023-11-01 03:48:54 26 4
gpt4 key购买 nike

我使用了亚马逊示例代码中的代码片段。下面的代码将数据上传到 amazon S3 存储桶中,但我需要上传文件的 URL。我正朝着正确的方向前进吗?或者有人可以指出我正在犯的错误

如有任何帮助,我们将不胜感激。

AWSS3TransferManager *transferManager = [AWSS3TransferManager defaultS3TransferManager];
AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new];
uploadRequest.bucket = S3BucketName;
uploadRequest.key = S3UploadKeyName;
uploadRequest.body = self.uploadFileURL;
//uploadRequest.contentLength = [NSNumber numberWithUnsignedLongLong:fileSize];

[[transferManager upload:uploadRequest] continueWithBlock:^id(BFTask *task) {
// Do something with the response
AWSS3TransferManagerUploadOutput *uploadOutPut = task.result;
NSLog(@"bftask:%@",uploadOutPut); // Upload out put gives me the following response
return nil;
}];

bf任务响应:

bftask:<AWSS3TransferManagerUploadOutput: 0x1706606c0> {
ETag = "\"0aefedfa36b687a74025b1ad50f3101f\"";
serverSideEncryption = 0;
}

最佳答案

如果您只需要下载文件,可以使用 AWSS3TransferManagerDownloadRequest 使用 SDK 下载文件。或者,您可以使用 AWSS3PreSignedURLBuilder 生成预签名 URL 以下载文件。

如果您只想知道对象的 URL,则 URL 遵循以下模式:

https://<YourS3Endpoint>/<YourBucketName>/<YourObjectKeyName>

默认情况下,Amazon S3 中的任何对象都是私有(private)的,不可公开读取。如果你想让它公开可读,你需要在你的 AWSS3TransferManagerUploadRequest 对象上设置 ACL

参见 Amazon S3 Bucket Public Access Considerations了解更多详情。

关于ios - 如何使用 iOS 将文件上传到 Amazon S3 并获取 url 作为响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com