以下のコードを使用してダウンロードしようとしているAWSS3にアップロードされた画像があります。AWS S3、Swift 3から画像をダウンロードできません
コードはtransferManager.download(downloadRequest).continueWith(executor: AWSExecutor.default(), block: { (task: AWSTask<AnyObject>) -> Any? in
まで実行されません。どうすればこの問題を解決できるか教えてください。ブロックは、ダウンロードが完了した後に呼び出されることになる完了ハンドラであることを(ポッドファイルから)使用
AWS SDKバージョン pod 'AWSCore', '~> 2.6.7' pod 'AWSS3', '~> 2.6.7'
static func testDownload(){
let transferManager = AWSS3TransferManager.default()
let downloadingFileURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("temp.jpg")
if let downloadRequest = AWSS3TransferManagerDownloadRequest(){
downloadRequest.bucket = "bucket-name"
downloadRequest.key = "folderName/imageName.png"
downloadRequest.downloadingFileURL = downloadingFileURL
print("downloadRequest \(downloadRequest)")
transferManager.download(downloadRequest).continueWith(executor: AWSExecutor.default(), block: { (task: AWSTask<AnyObject>) -> Any? in
print("transferManager.download func called")
if(task.error != nil){
print(task.error!.localizedDescription)
return nil
}
print(task.result!)
if let data = NSData(contentsOf: downloadingFileURL){
DispatchQueue.main.async(execute: {() -> Void in
let image = UIImage(data: data as Data)
print("Downloaded Image: \(image)")
})
}
return nil
})
}
}
があまりにもこのコードを試してみましたが、それはまだ通過しない... – user44776
あなたはコンソール出力を表示することができますか? – Anushk
私は、WebサイトからMacに直接ダウンロードするのに比べて、S3からiOSシミュレータに10倍の時間を要することを認識しました。私はなぜS3がとても遅いのだろうかと思います。 – user44776