从 BLOB(FMDB 结果)转换为 NSData 对象
Posted
技术标签:
【中文标题】从 BLOB(FMDB 结果)转换为 NSData 对象【英文标题】:Convert from BLOB (FMDB result) to NSData Object 【发布时间】:2018-03-29 08:31:20 【问题描述】:在我以前的应用程序中,数据是这样从磁盘读取的:
NSData* image = [NSData dataWithContentsOfFile:pngImage];
我将所有.png
数据作为BLOB
移动到我查询的SQLite
数据库中
FMDatabase *database = [FMDatabase databaseWithPath:pathToDatabase];
[database open];
NSString *sqlSelectQuery = @"SELECT ....";
FMResultSet *resultFromDatabase = [database executeQuery:sqlSelectQuery];
如何将数据库中的返回 (BLOB
) 转换为 NSData
对象?
【问题讨论】:
【参考方案1】:FMDB 为此提供了method:
NSData *image = [databaseResult dataForColumn:@"image_column"];
【讨论】:
【参考方案2】:您可以将 BLOB 转换为 NSData:
NSMutableData *data = [NSMutableData dataWithCapacity:blobs.count];
for (NSNumber *number in blobs)
uint8_t byte = (uint8_t)[number intValue];
[data appendBytes:&byte length:1];
【讨论】:
从这里复制粘贴***.com/questions/9556170/…。以上是关于从 BLOB(FMDB 结果)转换为 NSData 对象的主要内容,如果未能解决你的问题,请参考以下文章
将 JSON 数据从 NSData 转换为 NSDictionary