使用UIImage进行Base64转换:NSData不是nil,但是UIImage是nil

时间:2016-08-21 17:45:51

标签: ios swift string null uiimage

我目前正在使用以下方法将用户选择的UIImage转换为base64字符串,但是当我使用以下方法将其转换回图像时,我可以获得NSData ,但我无法将其转换为UIImage。有什么想法吗?我已经尝试为UIImage使用PNG和JPEG方法,如果添加任何细节,它们都不起作用。

谢谢,

雅各

编码:

 var base64 = UIImagePNGRepresentation(self.profileView.image!))!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)

解码代码:

let decodedData = NSData(base64EncodedString: String(user?.photoURL), options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
let decodedimage = UIImage(data: decodedData!) //this decoded image is nil

1 个答案:

答案 0 :(得分:1)

您可以尝试使用代码:

let image : UIImage = UIImage(named:"your_image")!
let imageData:NSData = UIImagePNGRepresentation(image)!

编码:

let base64:String = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)

<强>解码

let dataDecoded:NSData = NSData(base64EncodedString: base64, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)!

以下是将NSData转换为UIImage

的代码
let image: UIImage = UIImage(data:dataDecoded,scale:1.0)

我希望这会有所帮助。