UIImage to base64 String Encoding

后端 未结 7 1710
囚心锁ツ
囚心锁ツ 2020-12-01 01:04

How to convert UIimage to base64 encoded string? I couldn\'t find any examples or codes with detailed regarding.

相关标签:
7条回答
  • 2020-12-01 01:08
    @implementation UIImage (Extended)
    
    - (NSString *)base64String {
        NSData * data = [UIImagePNGRepresentation(self) base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength];
        return [NSString stringWithUTF8String:[data bytes]];
    }
    
    @end
    
    0 讨论(0)
  • 2020-12-01 01:11

    There are changes in iOS 7 that allow this to be done without using any external categories to support Base64 encoding/decoding.

    You could just write it directly using:

    - (NSString *)base64String {
        return [UIImagePNGRepresentation(self) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
    }
    
    0 讨论(0)
  • 2020-12-01 01:11

    Swift 3

    I use base64EncodedString() to convert Data() object to base64 string

    To convert image to base64 string

        var sample = UIImage(named: "image_logo")
        let imageData:Data =  UIImagePNGRepresentation(sample!)!
        let base64String = imageData.base64EncodedString()
    
    0 讨论(0)
  • 2020-12-01 01:12

    NSData (Base64) has changed slightly since the last reply in this thread.

    you should now use:

    NSData *base64EncodedImage = [UIImageJPEGRepresentation(img, 0.8) base64EncodingWithLineLength:0];
    
    0 讨论(0)
  • 2020-12-01 01:15

    You can follow below code

    -(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];
    }
    
    0 讨论(0)
  • 2020-12-01 01:26

    I wonder why didn't you find your question because it's a very old question & can be found here.

    Anyways, You need to first add NSData categories to your project which are available from here -

    header and implementation Then convert your UIImage object into NSData the following way:

    NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
    

    And then apply Base64 encoding to convert it into a base64 encoded string:

    NSString *encodedString = [imageData base64Encoding];
    
    0 讨论(0)
提交回复
热议问题