Swift将字符串Base64转换为UIImage

时间:2016-10-09 12:02:41

标签: ios swift uiimage base64

我正在尝试使用以下代码将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

decodedData似乎没问题,为什么在转换为nil时会收到UIImage

2 个答案:

答案 0 :(得分:3)

尝试不传递任何选项,我还建议使用unwrap for optionals:

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")
}

答案 1 :(得分:1)

对于 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")
    }