获得文件的MIME Type

获得文件的MIME Type 方式

  1. 搜索 http://www.w3school.com.cn/media/media_mimeref.asp
    2.方式二 发送请求
    3.方式三 调用C语言API
    4.方式四 通用的二进制数据类型 application/octet-stream

代码

#import "ViewController.h"
#import <MobileCoreServices/MobileCoreServices.h>

@interface ViewController ()

@end

@implementation ViewController

-(void)touchesBegan:(NSSet<UITouch *> *)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)
     ;
}

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

推荐阅读更多精彩内容

  • <extension>123</extension><mime-type>application/vnd.lotu...
    张不二01阅读 1,079评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,248评论 19 139
  • 一、MIME TYPE 描述 多用途互联网邮件扩展(MIME,Multipurpose Internet Mail...
    Arnold_J阅读 2,058评论 0 1
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,735评论 0 17
  • 曾无数次路过那个巷口 也亲眼目睹过摧毁的那堵墙 夜里回访的牵强 月光无奈付给微凉 任儿时的记忆将时光拉长 而我还在...
    迷小希阅读 272评论 0 2