如何将UIimage
转换为base64编码的字符串?我找不到任何有详细说明的例子或代码。
答案 0 :(得分:56)
我想知道为什么你没有找到你的问题,因为这是一个非常古老的问题&可以找到here和here。
反正,
您需要先在项目中添加NSData
类别,这些类别可从此处获取 -
header和implementation
然后按以下方式将UIImage
对象转换为NSData
:
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
然后应用 Base64 编码将其转换为base64
编码的字符串:
NSString *encodedString = [imageData base64Encoding];
答案 1 :(得分:45)
iOS 7中的更改允许在不使用任何外部类别的情况下完成此操作,以支持Base64编码/解码。
您可以直接使用以下方式编写:
- (NSString *)base64String {
return [UIImagePNGRepresentation(self) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
答案 2 :(得分:9)
您可以按照以下代码
-(NSString *)imageToNSString:(UIImage *)image
{
NSData *imageData = UIImagePNGRepresentation(image);
return [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
-(UIImage *)stringToUIImage:(NSString *)string
{
NSData *data = [[NSData alloc]initWithBase64EncodedString:string
options:NSDataBase64DecodingIgnoreUnknownCharacters];
return [UIImage imageWithData:data];
}
答案 3 :(得分:7)
@implementation UIImage (Extended)
- (NSString *)base64String {
NSData * data = [UIImagePNGRepresentation(self) base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength];
return [NSString stringWithUTF8String:[data bytes]];
}
@end
答案 4 :(得分:3)
NSData(Base64)自此帖子的上一次回复以来略有变化。
你现在应该使用:
NSData *base64EncodedImage = [UIImageJPEGRepresentation(img, 0.8) base64EncodingWithLineLength:0];
答案 5 :(得分:2)
Swift 3
我使用 base64EncodedString()将 Data()对象转换为base64字符串
将图片转换为base64字符串
import { MyCustomModule } from './lib/myCustomLib.module;
export MyCustomModule;
答案 6 :(得分:0)
在ios中将图像转换为base64时,使用base64编码的字符串中的新行“\ n”:
使用此代码:
UIImage* orginalImage = [info objectForKey:UIImagePickerControllerOriginalImage]; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:isRowIndex inSection:isSectionIndex] ; UITableViewCell *cell = [jobstable cellForRowAtIndexPath:indexPath]; UIImageView *tableIMAGE=(UIImageView *)[cell.contentView viewWithTag:19]; tableIMAGE.image=orginalImage; imageStris = [UIImageJPEGRepresentation(tableIMAGE.image,1)base64Encoding]; answersARRAY[indexPath.row] = [NSString stringWithFormat:@"-1,%@,%@",answersARRAY[indexPath.row],imageStris]; [self dismissViewControllerAnimated:YES completion:nil];