从Sqlite数据库将Blob转换为UIImage

问题描述

| 我在应用程序中使用Coredata保存了图像。然后,我在另一个项目中导入了sqlite文件,并检索了该Blob字段并转换为NSData。然后,当我尝试将此NSData转换为UIImage时,我得到了一个N​​ULL值。
NSData *data=UIImageJPEGRepresentation(tempImage,1.0);
通过保存上下文保存以上数据 从sqlite回来::
const char *sqlStatement = \"select ID,NAME,IMAGE from CALL\";
sqlite3_stmt *compiledStatement;
NSData *data=[[NSData alloc] initWithBytes: sqlite3_column_blob(compiledStatement,2) length:sqlite3_column_bytes(compiledStatement,2)];
UIImage * showImage= [UIImage imageWithData: data];
    

解决方法

        您正在编写的代码是正确的。 我在您的代码和互联网上的其他代码中发现的区别是: 您使用:
UIImageJPEGRepresentation(tempImage,1.0);
他们使用:
UIImagePNGRepresentation(self.coffeeImage);
尽管这不是您问题的正确解决方案,但可以帮助您进一步研究问题。