ios - 使用 UIImage : NSData is not nil, 进行 Base64 转换,但 UIImage 为 nil

标签 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

最佳答案

你可以试试代码:

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/

相关文章:

ios - 如果没有 Xcode,应用程序无法在后台正常运行

ios - 当前用于 iOS 的库以使用 RESTful Web 服务

ios - 大量本地通知swift 3

ios - Swift:如何同时使用两个 func 文本字段

ios - 如何使用 Swift 将多张图片上传到服务器?

ios - 降低 iOS 部署目标

c++ - 带有 const char* 的奇怪 std::cout 行为

string - TRIM RTRIM LTRIM 性能

java - Java 中使用 HashMap 的 ArrayList 的字符串相等性?我正在使用 .equals()

ios - 无法调用委托(delegate)方法