为什么AWS S3这么慢?(迅速)

JFD*_*per 5 amazon-s3 swift

我正在使用Amazon S3在iOS应用程序上使用swift存储用户帐户的个人资料图片.我能够从S3获取我想要的图片,但是他们需要很长时间才能加载.我不知道为什么会这样.这就是S3的工作方式,还是有更好的方法做事?这是我下载图片的代码:

let downloadingFilePath1 = NSTemporaryDirectory().stringByAppendingPathComponent("temp-download")
        let downloadingFileURL1 = NSURL(fileURLWithPath: downloadingFilePath1)
        let transferManager = AWSS3TransferManager.defaultS3TransferManager()
        let readRequest1 : AWSS3TransferManagerDownloadRequest = AWSS3TransferManagerDownloadRequest()
        readRequest1.bucket = "groopapictures"
        readRequest1.key =  self.searchTextField.text
        readRequest1.downloadingFileURL = downloadingFileURL1

        transferManager.download(readRequest1).continueWithBlock { (task) -> AnyObject! in
            println(task.error)
            if task.error == nil {
                self.ppImageView.hidden = false
                println("Fetched image")
                self.ppImageView.image = UIImage(contentsOfFile: downloadingFilePath1)

            }
            return nil
        }
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

Jos*_*van 3

检查您在返回块中运行的队列。如果它不是主队列,设置imagea 的属性UIImageView可能需要很长时间才能被“注意到”并更新。通过将图像分配行放入dispatch_async()主线程中来测试这一点。

如果这没有帮助,请运行 Charles 并查看 S3 返回图像所需的时间。