UIImageをサーバーに送信するためにbase64encodingを使用していますが、反対側でそれを取得し、base64encodedstringをNSDataに変換してから、UIImageViewで画像を取得しようとしています。
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 です