【问题标题】:Decode base64_encode Image from JSON in Swift在 Swift 中从 JSON 解码 base64_encode 图像
【发布时间】:2016-08-18 06:47:40
【问题描述】:

我有一个 mysql 数据库,其中包含一些图像。我从 php 文件中接收数据:

php:

    $result[$key]['image'] = based64_encode($resultArray[$key]['image']);

现在有了一个 Json 文件,我得到如下内容:

Json:
{"image":"\/9j\/4Q\/+RXhpZgAATU0AKgAAAAgACgEPAAIAAAAGAAAAhgEQAAIAAAAKAAAAjAESAAMAAAABAAYAAAEaAAUAAAABAAAAlgEbAAUAAAABAAAAngEoAAMAAAABAAIAAE...

我有我的 swift 项目,想将图像解码为 UIImage,到目前为止我不知道如何解码图像。我有以下。

Swift:
Alamofire.request(.GET, url).responseJSON { (response) -> Void in

        if let JSON = response.result.value as? [[String : AnyObject]]{
            for json in JSON{
                JSON
                let encodedImage = json["image"]
                let imageData = NSData(base64EncodedString: encodedImage)
            }

        }

如何解码图像以便显示?

【问题讨论】:

    标签: json swift decode


    【解决方案1】:

    您必须将字典值从 AnyObject 转换为 String。您还必须使用 .IgnoreUnknownCharacters 选项解码您的字符串数据。像这样试试

    if let encodedImage = json["image"] as? String,
        imageData =  NSData(base64EncodedString: encodedImage, options: .IgnoreUnknownCharacters),
        image = UIImage(data: imageData) {
        print(image.size)
    }
    

    Swift 3.0.1 • Xcode 8.1

    if if let encodedImage = json["image"] as? String, 
        let imageData = Data(base64Encoded: encodedImage, options: .ignoreUnknownCharacters),
        let image = UIImage(data: imageData) {
        print(image.size)
    }
    

    【讨论】:

      猜你喜欢
      • 2015-05-03
      • 2012-03-19
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      • 1970-01-01
      相关资源
      最近更新 更多