Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么AWS S3这么慢?(Swift)_Swift_Amazon S3 - Fatal编程技术网

为什么AWS S3这么慢?(Swift)

为什么AWS S3这么慢?(Swift),swift,amazon-s3,Swift,Amazon S3,我正在使用Amazon S3在iOS应用程序上使用swift存储用户帐户的个人资料图片。。我能够从S3中获得我想要的图片,但是加载它们需要很长时间。我不知道为什么会这样。这就是S3的工作原理,还是有更好的方法?这是我下载图片的代码: let downloadingFilePath1 = NSTemporaryDirectory().stringByAppendingPathComponent("temp-download") let downloadingFileURL1 = N

我正在使用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
        }

任何帮助都将不胜感激

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


如果没有帮助,请运行Charles并查看S3返回图像需要多长时间。

下载速度可能会根据您创建的bucket区域和访问位置而有所不同。在AWS S3中创建存储桶时,请确保选择地理位置靠近您所在位置的区域

您可以参考下面的AmazonS3文档来了解bucket区域


谢谢

这听起来可能是对的,但我不知道怎么做,你能举个例子吗?很高兴听到!祝你的项目顺利完成。