如何将UIImage转换为base64和POST转换为URL

时间:2015-09-07 10:58:22

标签: ios objective-c http nsdictionary

我很难将图像转换为base64,然后将其发布到服务器,在那里我会收到一个数字作为回报。我正在使用目标c。

有什么想法吗?我尝试了几件事,但在尝试设置某些NSDictionary参数时总是遇到线程错误。

3 个答案:

答案 0 :(得分:4)

在base64中转换UIImage

NSData *imageData = UIImageJPEGRepresentation(uploadImage, 1.0);
NSString *base64String = [imageData base64EncodedStringWithOptions:kNilOptions];
NSString *encodedString2 = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes( NULL,  (CFStringRef)base64String,    NULL,   CFSTR("!*'();:@&=+$,/?%#[]\" "),   kCFStringEncodingUTF8));

使用正常方式发送此字符串并在服务器上发布。还需要对服务器进行微小更改才能获得此图像。

答案 1 :(得分:3)

将UIImage转换为base64字符串For Objective c

NSData *imageData = UIImageJPEGRepresentation(_profileImgObj.image, 1.0);
NSString *base64Img = [imageData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];

对于Swift

let Imagedata = UIImageJPEGRepresentation(_profileImgObj.image, 0.5)
let strBase64Image = Imagedata!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions())

答案 2 :(得分:2)

以下是我如何用Swift做的事情:

let data = UIImageJPEGRepresentation(image, 0.5)
let imageString = data.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.allZeros)