在iPhone App中如何将UIImage
转换为NSData转换为BLOB数据类型的sqlite表?
是否需要任何类型的绑定(NSData
- > Blob)?
或
在sqlite Blob数据类型中检索以NSData
形式存储的图像时,
我是否应该执行任何任务来将blob数据类型中存储的数据库转换回NSData
形式?
请帮助并建议。
答案 0 :(得分:9)
我使用过这样的东西:
// prepare sqlite3 statement before this line
int res = sqlite3_step(stmt);
if (res == SQLITE_ROW) {
const void *ptr = sqlite3_column_blob(stmt, 0);
int size = sqlite3_column_bytes(stmt, 0);
data = [[NSData alloc] initWithBytes:ptr length:size];
sqlite3_reset(stmt);
return [data autorelease];
}
sqlite3_reset(stmt);
要以blob格式保存,您可以使用[data bytes]
和[data length]
提取NSData的指针和大小。然后绑定到您的BLOB行
sqlite3_bind_blob (stmt, 2, [data bytes], [data length], SQLITE_TRANSIENT);