Я попробовал решение, указанное здесь , используя:
- (NSString *)encodeToBase64String:(UIImage *)image {
return [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
Кодированная строка, которую я получаю, отличается от той, которую я могу получить, загрузив изображение в веб-инструмент как .
Просто моя строка отличается от сети и не может декодировать в Интернете изображение.
моя другая реализация -
-(NSString*)base64StringForImage{
UIImage *originalImage =_image_PreviewImage.image;
UIGraphicsBeginImageContext(originalImage.size);
[originalImage drawInRect:CGRectMake(0, 0, 1000, 1000)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *imgData=UIImagePNGRepresentation(newImage);
NSString *base64String = [imgData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
return base64String;
}
И оригинальный, и новый изображения имеют изображения.тестирование уменьшения размеров изображения
с помощью опции
NSDataBase64EncodingEndLineWithLineFeed
для заданной кодированной строки с половиной изображения, как показано ниже
