如何将Image转换为base64String。
UIImage * someImage = [UIImage imageNamed: @"page4.png"];
NSData *imageData = UIImageJPEGRepresentation(someImage, 1.0);
// NSString *encodedString = [imageData base64EncodedDataWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSString *base64 = [[NSString alloc] initWithData:imageData encoding:NSUTF8StringEncoding] ;
if (base64){
NSLog(@"Base 64 %@",base64);
}
我上面的代码给了我base64字符串的空值。
@All 在此先感谢。
答案 0 :(得分:5)
编码不正确..
试试这个:
NSString *base64 = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
答案 1 :(得分:1)
您收到空数据,因为您的.png
格式图片尝试使用UIImageJPEGRepresentation
获取数据
您需要使用UIImagePNGRepresentation
NSData *imageData = UIImagePNGRepresentation (someImage);
P.S UIImagePNGRepresentation
没有压缩系数,它只有图像参数
答案 2 :(得分:0)
//For Encoding
UIImage * someImage = [UIImage imageNamed: @"page4.png"];
NSData *imageData=UIImagePNGRepresentation(someImage);
NSString *base64 = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
// For Decoding
NSData *data=[[NSData alloc]initWithBase64EncodedString:base64 options:NSDataBase64DecodingIgnoreUnknownCharacters];
UIImage *image = [UIImage imageWithData:data];