我在我的swift项目中实现了sqlite,并且我在sqlite表中存储了base64图像字符串,然后在我取回base64图像之后,但是我的情况是,当用户访问应用程序的脱机模式时,如何将base64转换为uiimage而不用互联网,所以任何人都可以告诉我,他们有没有互联网的转换方式
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions.fromRaw(0)!)
var decodedimage = UIImage(data: decodedData)
println(decodedimage)
imgView.image = decodedimage as UIImage
我正在像这样进行转换,但是在离线模式下我无法将base64转换为图像,所以请帮助我
答案 0 :(得分:0)
您可能会遇到前缀 data:image / png; base64
的问题如果字符串包含 data:image / png; base64 ,则从base64解码时它将返回nil。
您必须先从base64字符串中删除 data:image / png; base64 ,然后才能从字符串中获取图像。
删除后,使用以下代码获取图像:
if let decodedData = Data(base64Encoded: base64String, options: .ignoreUnknownCharacters) {
let image = UIImage(data: decodedData)
print(image)
}
答案 1 :(得分:0)
使用此扩展名,以后再说:)
extension UIImage{
convenience init?(base64 str: String) {
guard let url = URL(string: str),
let data = try? Foundation.Data(contentsOf: url),
UIImage(data: data) != nil else { return nil }
self.init(data: data)!
}
}
//self.imageView.image = base64ToImage(base64String: urlString)