ios - 使用 swift 在 Sqlite 中存储和检索图像

标签 ios swift

如何在 SQLite 中存储和获取图像以及图像以什么格式保存?如果用一个例子来解释会更有帮助。

最佳答案

图像本身不能存储到数据库列中,但您可以先将其转换为字符串然后存储。该字符串称为 base64 字符串。据我所知,任何图像都可以转换为该图像并反向转换。

编码为 base 64:

let image : UIImage = UIImage(named:"imageNameHere")!
let imageData:NSData = UIImagePNGRepresentation(image)!
let strBase64 = imageData.base64EncodedString(options: .lineLength64Characters)

现在您的 UIImage 对象已转换为字符串!将 strBase64 保存到 SQLite 数据库。请记住使用 text 作为列类型,因为此字符串很长。

解码回 UIImage:

let dataDecoded:NSData = NSData(base64EncodedString: strBase64, options: NSDataBase64DecodingOptions(rawValue: 0))!
let decodedimage:UIImage = UIImage(data: dataDecoded)!

关于ios - 使用 swift 在 Sqlite 中存储和检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44780937/

相关文章:

swift - 如何在 Swift 中使用静态库和模块映射文件?

ios - 核心蓝牙框架未扫描所有 BLE 设备和苹果 BLE 设备

swift - 可编码 : Flattening structures

ios - 如何使用 cocoapods 向现有项目添加新框架?

swift - 如何在 Swift 中按顺序执行大量网络调用?

swift - 如何用标签显示正确的摘要

ios - 如何从 UITableView 将按钮添加到详细 View 的顶部栏

ios - 以编程方式从其父 View 中删除 subview 并将其附加到其他父 View

ios - 如何通过一个按钮切换到多个屏幕

ios - 库导致新 Xcode 中的构建错误