从 ios 中的 URL 获取图像不起作用
Posted
技术标签:
【中文标题】从 ios 中的 URL 获取图像不起作用【英文标题】:get image form URL in ios not working 【发布时间】:2014-08-05 12:55:32 【问题描述】:我尝试通过 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
请给我任何想法。
【问题讨论】:
【参考方案1】:试试这个方法
NSString *geting =[diction valueForKey:@"dealimage"];
NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:geting options:0];
NSLog(@"%@", decodedData);
可能对你有帮助。
【讨论】:
感谢重播我会尝试【参考方案2】:看来您必须从 JSON 字典中获取图像.. 所以你需要使用 base64 解码器而不是 URL,它将编码的字符串转换为 NSData。为此,您需要添加 base64 库。可通过Lib 获得
只需要加一句
NSData *image = [NSData dataWithBase64EncodedString:[jsonDictionary objectForKey:@"strImage"]]; imView.image = [UIImage imageWithData:image];
就是这样。
【讨论】:
感谢您使用代码时的回复,我在发布这样的 strEncoded = [Base64 encode:imageData] 的图像时遇到了一个问题;我收到此错误 Base64 undeclared error。但我添加了 Base64.h 和 Base64。 m 文件到我的项目所以请给我任何想法以上是关于从 ios 中的 URL 获取图像不起作用的主要内容,如果未能解决你的问题,请参考以下文章