通过图片NSData数据来获取图片格式

+ (NSString *)imageTypeWithData:(NSData *)data {
    
    uint8_t type;
    
    [data getBytes:&type length:1];
    
    switch (type) {
            
        case 0xFF:
            return @"jpeg";
            
        case 0x89:
            return @"png";
            
        case 0x47:
            return @"gif";
            
        case 0x49:
        case 0x4D:
            return @"tiff";
            
        case 0x52:
            if([data length] < 12) {
                return nil;
            }
            
            NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding];
            if([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) {
                return@"webp";
            }
            
            return nil;
    }
    
    return nil;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容