NSData转UIImage

作者: 梵虚 | 来源:发表于2016-05-11 22:02 被阅读276次

    在之前,我们使用以下方法进行NSData与UIImage的转换
    //UIImage转换为NSData NSData *imageData = UIImagePNGRepresentation(aimae);

    //NSData转换为UIImage NSData *imageData = [NSData dataWithContentsOfFile: imagePath]; UIImage *image = [UIImage imageWithData: imageData];

    但是我们把NSData保存到FMDB数据库里的时候,再次从数据库取出,就会报错,即使设了断点,NSData有值,也依然无法赋给UIImage使用。
    解决办法是不使用SQLITE3的blob类型,而是使用系统自带的base64加密一下,然后使用string类型进行保存
    NSData *imageData = [[NSData alloc] initWithData:UIImagePNGRepresentation(UImageGet)];
    NSString *imageFinal = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
    从数据库取出该字段,给base64解密,然后再次转为NSData类型即可给UIImage使用.
    NSString *imageGet =[resultSet stringForColumn:@"modeImage"];
    NSData *imgData = [[NSData alloc] initWithBase64EncodedString:imageGet options:NSDataBase64DecodingIgnoreUnknownCharacters];
    UIImage *imageShow = [UIImage imageWithData:imgData];

    相关文章

      网友评论

        本文标题:NSData转UIImage

        本文链接:https://www.haomeiwen.com/subject/ndvurttx.html