일단 이미지데이터를 NSData로 바꾼 다음 서버로 보내기 위해 Base64로 인코딩된 스트링을 만들어 주었다.
UIImage *testImage = [UIImage imageNamed:@"test.png"]; NSData *imageData = UIImagePNGRepresentation(testImage); NSString *base64EncodedImageString = [imageData base64EncodedStringWithOptions:0];
NSMutableData* base64DecodedImageData = [[NSMutableData alloc] initWithBase64EncodedString:base64EncodedImageString options:0]; NSLog(@"base64DecodedImageData = %@", base64DecodedImageData); |
테스트를 위해서 base64DecodedImageData 를 찍어봤으나 예상과 다르게 nil이 나왔다.
이 경우 옵션을 인코딩할 때 옵션을 줘야 했었다.
UIImage *testImage = [UIImage imageNamed:@"test.png"]; NSData *imageData = UIImagePNGRepresentation(testImage); NSString *base64EncodedImageString = [imageData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSMutableData* base64DecodedImageData = [[NSMutableData alloc] initWithBase64EncodedString:base64EncodedImageString options:NSDataBase64DecodingIgnoreUnknownCharacters]; NSLog(@"base64DecodedImageData = %@", base64DecodedImageData); |
단, 여기에서 사용한 api들은 iOS 7 이상에서만 사용 가능하다.
'Mac&iOS' 카테고리의 다른 글
framework not found IOSurface for architecture armv7 (0) | 2017.11.03 |
---|---|
iOS Privacy관련 This app has crashed because it attempted to access privacy-sensitive data without a usage description (0) | 2017.10.26 |
iOS에서 RSA암호화(5) (0) | 2017.09.19 |
iOS에서 RSA암호화(4) (0) | 2017.09.19 |
iOS에서 RSA암호화(3) (0) | 2017.09.19 |