0

我正在尝试使用 AWSMobileHubHelper 在我的 s3 存储桶中下载一个名为“aaa.jpeg”的图像。我在他们的文档网站上找到了这个功能。

func downloadContent(content: AWSContent, pinOnCompletion: Bool) {
    content.downloadWithDownloadType( .Always, pinOnCompletion: pinOnCompletion, progressBlock: {(content: AWSContent?, progress: NSProgress?) -> Void in
            // Handle progress feedback
        }, completionHandler: {(content: AWSContent?, data: NSData?, error: NSError?) -> Void in
            if let error = error {
                print("Failed to download a content from a server.)")
                // Handle error here                    
                return
            }
            // Handle successful download here
            if let image = UIImage(data: data!){
                self.imageView = image
            }
        })
}

下载成功后(它成功了,没有错误消息),我正在尝试将图像分配给 imageView。我可以说数据已成功下载。我可以打印数据并查看熟悉的图像二进制结构。但由于某些原因,我无法将 UIImage 分配给 imageView。因为我无法将数据转换为 UIImage。

我只想知道这是否是从 s3 下载图像的正确方法,还是我遗漏了什么。完成块中的“数据”是否携带下载的图像?我似乎找不到任何关于此的文档。

这是用于从 S3 下载的正确功能吗?

4

1 回答 1

0

是的,数据包含实际的图像数据。您可以将下载的数据放在 UIImageViewController 中,它应该可以正常打开。此外,这在可从 Mobile Hub 控制台下载的示例应用程序中进行了演示。

于 2016-09-18T21:30:54.720 回答