我存储在iPhone相机上拍摄的图像并将其作为字符串保存到服务器上:
[UIImagePNGRepresentation(newImage) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
在从服务器检索它们之后,我试图将它们转换为这样的图像:
NSData *data = [dataStr dataUsingEncoding:NSUTF8StringEncoding];
UIImage *image = [UIImage imageWithData:data];
if (image)
{
[self.bagImagesArray addObject:image];
}
"图像"总是返回nil ...退出数据似乎绝对没问题
它必须是我转换初始图片的方式或我将数据转换为图片的方式,但我不知道从哪里开始,谷歌并没有真正帮助太多
任何帮助都会很棒
*更新*
也试过这个
NSData *data = [[NSData alloc] initWithBase64EncodedString:dataStr options:0];
UIImage *image = [UIImage imageWithData:data];
注销"图像"表明它认为它是一个UIButton ...... wat?
更新
dataStr看起来像这样
<ffd8ffe0 00104a46 49460001 01000048 00480000 ffe10058 45786966 00004d4d 002a0000 00080002 01120003 00000001 00060000 87690004 00000001 00000026 00000000 0003a001 00030000 00010001 0000a002 00040000 00010000 0cc0a003 00040000 00010000 09900000 0000ffed 00385068 6f746f73 686f7020...51494005 2d250680 168a4a5a 061494b4 50014669 28a0028a 05068016 8a4a5eb4 001a4a0d 2d001451 45001451 45001452 5283400d a2968a00 ffd9>
显然需要更长的时间,但是你得到的照片
答案 0 :(得分:0)
保存时:
NSData *data = UIImagePNGRepresentation(image);
[data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
阅读时:
NSData *data = [[NSData alloc]initWithBase64EncodedString:string options:NSDataBase64DecodingIgnoreUnknownCharacters];
[UIImage imageWithData:data];
答案 1 :(得分:0)
替换
NSData *data = [[NSData alloc] initWithBase64EncodedString:dataStr options:0];
带
NSData *data = [[NSData alloc] initWithBase64EncodedString:dataStr options:NSDataBase64DecodingIgnoreUnknownCharacters];
答案 2 :(得分:0)