我对从base 64编码的字符串解码图像数据有一些问题。 我正在使用base64.h和从以下链接下载的64.m文件
http://cdn.imthi.com/e6cef8/wp-content/uploads/2010/08/base64.zip
这是我的代码
[Base64 initialize];
NSData * data = [Base64 decode:imageString];
imgview.image=[UIImage imageWithData:data];
但是,图像视图中没有显示任何内容,
我通过使用在线base 64解码器解码base 64字符串(取自调试器控制台)进行测试,它提供了正确的图像, 我还通过将数据写入这样的文件进行测试
[data writeToFile:imagePath atomically:YES];
它提供了一个jpg文件,但我无法打开该图像文件, 它提供了像
这样的错误消息无法打开文件“test.jpg”。
“它可能已损坏或使用预览无法识别的文件格式。” 我的代码有什么问题 任何人都可以帮助我.....
谢谢
答案 0 :(得分:3)
尝试不同的base 64实现,我使用colloquy开源项目中的一个:
#import "NSDataAdditions.h"
/* encoded string to image */
NSString *imageString = @"";
NSData * data = [NSData dataWithBase64EncodedString:imageString];
UIImage *image1 = [UIImage imageWithData:data];
/* image to encoded string, back to image */
imageString = [UIImagePNGRepresentation(image) base64Encoding];
data = [NSData dataWithBase64EncodedString:imageString];
UIImage *image2 = [UIImage imageWithData:data];
获取NSAdditions
个文件:NSAdditions.h + NSAdditions.m