【问题标题】:How to get the image from the base64encodedstring ?如何从 base64encodedstring 获取图像?
【发布时间】:2013-02-02 18:45:12
【问题描述】:

发送 Base64encodedString 并接收它的一切工作正常,但是当我将 NSData 转换回 UIImage 时,它​​会引发以下异常

-[__NSArrayI dataUsingEncoding:allowLossyConversion:] Base64 编码出现异常

这是我用来发布图片的代码:

img=mainImage.image;
NSData *imgdata=UIImagePNGRepresentation(img);
NSString *imgstring=[imgdata base64EncodedString];
NSString *post =[[NSString alloc] initWithFormat:@"gid=%@&image=%@",[lblgid text],imgstring];
NSLog(@"PostData: %@",post);

NSURL *url=[NSURL URLWithString:@"http://www.abcd/updategameimage.php"];

以下是接收端的代码

 NSString *imgStr=[abc valueForKey:@"image"];
    NSLog(@"%@",imgStr);
    NSData *imgdata=[NSData dataWithBase64EncodedString:imgStr];


    imge = [UIImage imageWithData:imgdata];

    [imgview setImage:imge];

这里 abc 是 NSMutableArray

【问题讨论】:

    标签: json ios6 uiimageview uiimage base64


    【解决方案1】:

    你确定abc 是一个可变数组吗?

    因为您正在向它发送valueForKey: 方法。这是 NSObject 实现的 KVC 方法,给它发送这条消息是没有意义的。

    如果您打算改为发送 objectForKey: 方法 - 那么这将是您发送到字典而不是数组的消息。

    而且,你得到的错误:

    -[__NSArrayI dataUsingEncoding:allowLossyConversion:] Base64 编码出现异常

    告诉你 NSArray 不响应 dataUsingEncoding:allowsLossyConversion: 消息 - 这是 NSString 对象的一种方法。

    我认为您对自己的对象类型感到困惑,需要更好地了解什么是什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多