简体   繁体   English

快速将字符串Base64转换为UIImage

[英]Swift Convert string Base64 to UIImage

I'm trying to convert base 64 encoded string to UIImage with the following code: 我正在尝试使用以下代码将base 64编码的字符串转换为UIImage

let decodedData = NSData(base64EncodedString: base64String!, options: NSDataBase64DecodingOptions(rawValue: 0) )

print(decodedData) //I get data here (It is not nil)

var decodedimage = UIImage(data: decodedData!) //return nil

The decodedData seems fine, Why do I get nil when converting to UIImage ? 似乎已decodedData很好,为什么在转换为UIImage时我得到nil

Try to pass no options, I also recommend using unwrap for optionals : 尝试不传递任何选项,我也建议对选项使用unwrap:

if let string = base64String {
    let decodedData = NSData(base64EncodedString: base64String!, options: []) 
    if let data = decodedData {
        var decodedimage = UIImage(data: data)
    } else {
        print("error with decodedData")
    }
} else {
    print("error with base64String")
}

For Swift 4.2 对于Swift 4.2

if base64String != nil {
        let decodedData = NSData(base64Encoded: base64String!, options: [])
        if let data = decodedData {
            let decodedimage = UIImage(data: data as Data)
            cell.logo.image = decodedimage
        } else {
            print("error with decodedData")
        }
    } else {
        print("error with base64String")
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM