ios - SQLite 保存和加载图像 iOS

标签 ios image sqlite

我正在尝试保存图像并将其加载到 tableView 中,以便保存在我的 SQLite 文件中我这样做:

-(void)InsertRecords:(NSData *)pic{
..... // Open my SQLite file
NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO myMovies (movieImage) VALUES (\"%@\")", pic];
...
const char *insert_stmt = [insertSQL UTF8String];
...
sqlite3_bind_blob(statement, 1, [pic bytes], [pic length], NULL);
...

哪张图片是 NSData,我得到了它的 NSLog。并给了我代码。同样为了加载我使用了这段代码:

int length = sqlite3_column_bytes(sqlStatement, 1);
MyMovie.image = [NSData dataWithBytes:sqlite3_column_blob(sqlStatement, 1) length:length];

和 NSLoged 来自它,它具有与 NSData 相似的结构,但数据不同!彻底变了!难道我做错了什么 ?

最佳答案

sqlite3_bind_blob 绑定(bind)到一个参数,但是你的插入语句实际上没有参数。 (您应该检查它的返回值是否有错误。)

您插入的语句是将图片格式化为字符串,它会因任何非 ASCII 字节而中断。

关于ios - SQLite 保存和加载图像 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13091483/

相关文章:

ios - 无法在 Swift 中的自定义 UIView 上布局 subview

iOS Swift 方向改变动画缺失

ios - 无法使用 Parse 缩放 ScrollView 中的 UIImage

python - 如何自动加载图像文件夹?

android - 如何在没有顺序 int 标识符的情况下仅更新 SQlite 中的第一行?

android - 如何查看为 Android/SQLite 生成的 SQL 语句

ios - 从表sqlite中删除行的问题

html - 通过 CSS 替换不可用的图像?

javascript - 使用 color-thief 从图像中获取背景颜色

c++ - 在 C++ 项目中包含数据库文件时出错