我很难尝试下载我在 S3 存储桶中上传的特定文件。
我创建了一个名为“Photos”的存储桶并上传了名为“test.png”的文件
在我的 AppDelegate 中设置我的 CredentialProvider 后,我尝试使用以下代码下载该文件:
let transferManager = AWSS3TransferManager.defaultS3TransferManager()
let downloadingFilePath = NSTemporaryDirectory().stringByAppendingString("test.png")
let downloadingFileUrl = NSURL(fileURLWithPath: downloadingFilePath)
let downloadRequest = AWSS3TransferManagerDownloadRequest()
downloadRequest.bucket = "photos"
downloadRequest.key = "test.png"
downloadRequest.downloadingFileURL = downloadingFileUrl
transferManager.download(downloadRequest).continueWithExecutor(AWSExecutor.mainThreadExecutor(), withBlock: { (AWSTask) -> AnyObject! in
//Handle errors
if AWSTask.error != nil
{
print("Error downloading: \(AWSTask.error)")
// Retrive information important for later downloading
}
else
{
print("Download succesful..")
var uploadResult: AnyObject! = AWSTask.result
print("Upload result: \(uploadResult)")
let downloadOutput = AWSTask.result as! AWSS3TransferManagerDownloadOutput
}
return nil
})
但它一直给我错误:“您尝试访问的存储桶必须使用指定的端点进行寻址。请将所有未来的请求发送到此端点”
我试图将我的 downloaderRequest.bucket 更改为我在存储桶属性中找到的端点。downloaderRequest.bucket = "photos.s3-website-sa-east-1.amazonaws.com"
但现在它说“指定的存储桶不存在,Code=NoSuchBucket”
关于我做错了什么的任何想法?谢谢。