今天用UIImageJPEGRepresentation 时发现有的图片返回nil 有的图片返回正常,所以问题就来了
先看苹果给的解释
如果图像没有数据,或者底层的CGImageRef包含不支持的位图格式的数据,这个函数可能返回nil。
然后解决办法
/** 图片转换为base64码 **/
+ (NSString *)image2Base64:(UIImage *)image
{
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *data = UIImageJPEGRepresentation(newImage, 1);
NSString *base64Code = [data base64Encoding];
return base64Code;
}