我尝试通过JSON将图片发布到服务器。首先将图像转换为NSData
,然后通过Base64将NSData
转换为NSString
。
NSData *imageData = UIImagePNGRepresentation(firstimage1.image);
strEncoded = [Base64 encode:imageData];
然后NSString(strEncoded)
传递给JSON URL。
现在我需要获得相同的图像。我厌倦了这样的
NSString *geting =[diction valueForKey:@"dealimage"];
NSData *getdata=[[NSData alloc]initWithData:[NSData dataFromBase64String:geting]];
NSLog(@"good day %@",getdata);
dataimages=[UIImage imageWithData:getdata];
首先NSString
通过Base64转换为NSData
,然后NSData
转到UIImage(dataimages)
。但我没有得到。我收到了这个错误: -
ImageIO: PNG invalid PNG file: iDOT doesn't point to valid IDAT chunk
Aug 4 17:45:43 Himansus-Mac-Pro.local DealsStart[4365] <Error>: ImageIO: PNG invalid code lengths set
Aug 4 17:45:43 Himansus-Mac-Pro.local DealsStart[4365] <Error>: ImageIO: PNG invalid PNG file: iDOT doesn't point to valid IDAT chunk
Aug 4 17:45:43 Himansus-Mac-Pro.local DealsStart[4365] <Error>: ImageIO: PNG invalid code lengths set
请给我任何想法。
答案 0 :(得分:0)
试试这种方式
NSString *geting =[diction valueForKey:@"dealimage"];
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:geting options:0];
NSLog(@"%@", decodedData);
可能对你有所帮助。
答案 1 :(得分:0)
似乎你必须从JSON字典中获取图像.. 所以你需要使用base64解码器而不是URL,它将编码后的字符串转换为NSData。为此,您需要添加base64 lib。可在Lib
获取只需要添加一个句子
NSData * image = [NSData dataWithBase64EncodedString:[jsonDictionary objectForKey:@&#34; strImage&#34;]]; imView.image = [UIImage imageWithData:image];
多数民众赞成。