NSDataBase64DecodingOptions 总是 returns 无

NSDataBase64DecodingOptions always returns nil

有很多类似的问题,但没有一个能帮助我解决问题,所以我只是不知道该怎么做,只能问。这就是我对 UIImage 进行编码的方式:

       let data: NSData = UIImagePNGRepresentation(imageResized)!
       let base64String: NSString = data.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)

和解码(如建议):

if let range = base64.rangeOfString("data:image/png;base64,", options: .AnchoredSearch)  {
                base64.removeRange(range)
            }
            let decodedData = NSData(base64EncodedString: base64, options: NSDataBase64DecodingOptions(rawValue: 0))
            if let decodedImage = UIImage(data: decodedData!) {
                self.imageList.append(decodedImage)
            }

但是应用程序在初始化 decodedData 时崩溃了,我不知道为什么。 我检查了我的 base64 字符串 here 和 returns 图片。 任何帮助将不胜感激!

let decodedData 行替换为:

let decodedData = NSData(base64EncodedString: base64, options: [])

还要确保您使用了正确的变量:

// 1. This should be a variable if you're mutating it.
let base64String = data...

// 2. You should probably do this on your base64String
if let range = base64.rangeOfString(...)

试试这个:

   if let decodedData = NSData(base64EncodedString: base64, options:NSDataBase64DecodingOptions.IgnoreUnknownCharacters){
        if(decodedData.length > 0){
            let imageDecodeData =  UIImage(data: decodedData)!
        }
        else{
            print("error")
        }
    }