我目前正在使用以下方法将用户选择的 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
最佳答案
你可以试试代码:
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)
希望对您有所帮助。
关于ios - 使用 UIImage : NSData is not nil, 进行 Base64 转换,但 UIImage 为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39067108/