我很难将图像转换为base64,然后将其发布到服务器,在那里我会收到一个数字作为回报。我正在使用目标c。
有什么想法吗?我尝试了几件事,但在尝试设置某些NSDictionary参数时总是遇到线程错误。
答案 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)