Is it possible to find the file extension of a UIImage ?

file-extension, image-file, ios, objective-c, uiimage

Solution

You can, change image to `NSData` by using `UIImageJPEGRepresentation(<#UIImage *image#>, <#CGFloat compressionQuality#>)` OR `UIImagePNGRepresentation(<#UIImage *image#>)` method. Call it in this way:

- (void) yourMethod{
    NSData *imageData = UIImagePNGRepresentation(yourImage);
    NSString *str = [self contentTypeForImageData:imageData];

}

- (NSString *)contentTypeForImageData:(NSData *)data {
    uint8_t c;
    [data getBytes:&c length:1];

    switch (c) {
        case 0xFF:
                return @"image/jpeg";
        case 0x89:
                return @"image/png";
        case 0x47:
                return @"image/gif";
        case 0x49:
            break;
        case 0x42:
            return @"image/bmp";
        case 0x4D:
            return @"image/tiff";
    }
    return nil;
}

Problem

I found the below code in Finding image type from NSData or UIImage which helps to check four different image types of a UIimage ``` (NSString *)contentTypeForImageData:(NSData *)data { uint8_t c; [data getBytes:&c length:1]; switch (c) { case 0xFF: return @"image/jpeg"; case 0x89: return @"image/png"; case 0x47: return @"image/gif"; case 0x49: case 0x4D: return @"image/tiff"; } return nil; } ``` I want to know how to find the file is a bitmap image or not that it has .bmp extension. can someone please help me with it. Either modify the above code to find bmp as well or please provide me a solution with some code. thanks in adnvance

Original source

Related problems