iOS开发-如何判断文件类型

如何判断文件类型

  • 可以直接通过后缀来判断。

    • 通过pathExtension获得后缀名(此方法不严谨,可能存在后缀名被修改的情况)
    • 通过第一个字节判断:
      参考SDWebImage中的方法(如下):
    + (NSString *)sd_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";
         case 0x52:
             // R as RIFF for WEBP
             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 @"image/webp";
             }
    
             return nil;
     }
     return nil;
    

}

你可能感兴趣的:(iOS开发-如何判断文件类型)