美文网首页iOS技术点
iOS开发-如何判断文件类型

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

作者: superWX | 来源:发表于2015-08-20 00:00 被阅读5478次

    如何判断文件类型

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

      • 通过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开发-如何判断文件类型

        本文链接:https://www.haomeiwen.com/subject/ovrgqttx.html