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;
    

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容