iOS開発-ファイルタイプの判断方法
1140 ワード
ファイルタイプの判断方法は、接尾辞によって直接判断することができる. 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;
}