与图像数据-iphone的Base64解码问题

时间:2011-12-01 12:33:07

标签: iphone objective-c xcode base64 decode

我对从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”。

“它可能已损坏或使用预览无法识别的文件格式。” 我的代码有什么问题 任何人都可以帮助我.....

谢谢

1 个答案:

答案 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