首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将文件上载到Amazon,并使用S3作为响应获取url

如何将文件上载到Amazon,并使用S3作为响应获取url
EN

Stack Overflow用户
提问于 2015-05-08 08:39:09
回答 1查看 4.5K关注 0票数 6

我使用了Amazon示例代码中的代码片段。下面的代码将数据上传到amazon桶中,但是我需要上传文件的S3。我往正确的方向走了吗?或者有人能指出我犯的错误

任何形式的帮助都将不胜感激。

代码语言:javascript
复制
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;
    }];

bfTask回应:

代码语言:javascript
复制
bftask:<AWSS3TransferManagerUploadOutput: 0x1706606c0> {
    ETag = "\"0aefedfa36b687a74025b1ad50f3101f\"";
    serverSideEncryption = 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-08 19:58:27

如果您只需要下载该文件,可以使用AWSS3TransferManagerDownloadRequest使用SDK下载文件。或者,您可以使用AWSS3PreSignedURLBuilder生成一个预先签名的URL来下载文件.

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

代码语言:javascript
复制
https://<YourS3Endpoint>/<YourBucketName>/<YourObjectKeyName>

默认情况下,亚马逊S3中的任何对象都是私有的,不公开可读的。如果要使其公开可读性,则需要在ACL对象上设置AWSS3TransferManagerUploadRequest

有关更多详细信息,请参阅亚马逊S3桶公共访问注意事项

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30119396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档