#import "ViewController.h"
#import
@interface ViewController ()
@end
@implementation ViewController
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
//方式一 搜索 http://www.w3school.com.cn/media/media_mimeref.asp
//方式二 发送请求
//方式三 调用C语言API
//方式四 通用的二进制数据类型 application/octet-stream
//方式二
[[[NSURLSession sharedSession] dataTaskWithURL:[NSURL fileURLWithPath:@"/Users/a58/Desktop/123.png"] completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
//响应头信息 服务器端对已响应信息的描述
NSLog(@"%@",response.MIMEType);
//结果log
//2018-04-04 16:33:09.628034+0800 11-获得文件的MIMEType[2021:166628] image/png
}] resume];
//方式三
NSLog(@"方式三获取文件MIMEType类型 -- %@",[self getMIMETypeWithCAPIAtFilePath:@"/Users/a58/Desktop/123.png"]);
// 结果log
// 方式三获取文件MIMEType类型 -- image/png
}
//调用C语言的API来获得文件的MIMEType ,只能获取本地文件哦,无法获取网络请求来的文件
-(NSString *)getMIMETypeWithCAPIAtFilePath:(NSString *)path
{
if (![[[NSFileManager alloc] init] fileExistsAtPath:path]) {
return nil;
}
CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)[path pathExtension], NULL);
CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass (UTI, kUTTagClassMIMEType);
CFRelease(UTI);
if (!MIMEType) {
return @"application/octet-stream";
}
return (__bridge NSString *)(MIMEType)
;
}