iOS错误:Error: ImageIO: PNG IDAT: invalid stored block leng

解决方法:

1.读取图片数据,然后调用2中的方法进行校验

NSData* data = [NSData dataWithContentsOfFile:imagePath];

2.判断是否为有效的PNG图片,JPG的请使用UIImageJPEGRepresentation方法

/** * 校验图片是否为有效的PNG图片 * * @param imageData 图片文件直接得到的NSData对象 * * @return 是否为有效的PNG图片 */- (BOOL)isValidPNGByImageData:(NSData*)imageData{UIImage* image = [UIImage imageWithData:imageData];//第一种情况:通过[UIImage imageWithData:data];直接生成图片时,如果image为nil,那么imageData一定是无效的if (image == nil && imageData != nil) {return NO;}//第二种情况:图片有部分是OK的,但是有部分坏掉了,,它将通过第一步校验,那么就要用下面这个方法了。将图片转换成PNG的数据,如果PNG数据能正确生成,那么这个图片就是完整OK的,如果不能,那么说明图片有损坏NSData* tempData = UIImagePNGRepresentation(image);if (tempData == nil) {return NO;} else {return YES;}}

伟人之所以伟大,是因为他与别人共处逆境时,

iOS错误:Error: ImageIO: PNG IDAT: invalid stored block leng

相关文章:

你感兴趣的文章:

标签云: