我尝试使用以下方法给定here的解决方案:
- (NSString *)encodeToBase64String:(UIImage *)image {
return [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
我得到的编码字符串与通过在网络工具like上载图片获得的编码字符串不同。
只是我的字符串不同于网络,并且无法在网络上解码图像。
我的其他实现是
-(NSString*)base64StringForImage{
UIImage *originalImage =_image_PreviewImage.image;
UIGraphicsBeginImageContext(originalImage.size);
[originalImage drawInRect:CGRectMake(0, 0, 1000, 1000)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *imgData=UIImagePNGRepresentation(newImage);
NSString *base64String = [imgData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
return base64String;
}
originalImage和newImage都具有图像。测试缩小图像的大小
带有
的选项NSDataBase64EncodingEndLineWithLineFeed
给出的编码字符串,带有如下所示的一半图像