判断图片类型
2016-08-19 14:31
183 查看
判断图片类型
以前都是这么做的//假设这是一个网络获取的URL NSString *path = @"http://pic3.nipic.com/20090709/2893198_075124038_2.gif"; // 判断是否为gif NSString *extensionName = path.pathExtension; if ([extensionName.lowercaseString isEqualToString:@"gif"]) { //是gif图片 } else { //不是gif图片 }
直到我发现了下面的代码
//通过图片Data数据第一个字节 来获取图片扩展名 - (NSString *)contentTypeForImageData:(NSData *)data { uint8_t c; [data getBytes:&c length:1]; switch (c) { 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; }
使用:
//假设这是一个网络获取的URL NSString *path = @"http://pic.rpgsky.net/images/2016/07/26/3508cde5f0d29243c7d2ecbd6b9a30f1.png"; NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]]; //调用获取图片扩展名 NSString *string = [self contentTypeForImageData:data]; //输出结果为 png NSLog(@"%@",string);
相关文章推荐
- 判断图片类型
- php通过获取头信息判断图片类型
- HttpRequest下载图片,判断图片类型
- 在作图片上传时判断文件是否是较长片类型 检测到是否是改后缀名图片
- 通过文件头判断图片类型
- JS 判断 图片上传_限制格式、类型、尺寸
- 读文件头判断图片类型
- 图片类型判断
- 读文件头判断图片类型
- 判断文件类型是否为图片的方法——Java实现
- 通过文件二进制信息判断图片类型(png,jpg,gif)
- php判断上传的文件是否是图片类型
- javascript图片上传类型及大小判断
- 读文件头判断图片类型
- 通过以二进制方式读取文件 判断文件头得到图片类型 ,上面通过拓展名有缺陷。
- 读文件头判断图片类型!
- 判断图片的类型
- PHP判断图片的颜色类型
- Android判断文件类型(视频、音频、图片等)
- 通过input上传图片,判断不同浏览器及图片类型和大小的js代码