iOS获取文件MIMEType

一、网络请求

发送网络请求,在响应头中通过response.MIMEType拿到文件的MIMEType类型
eg:NSURLConnection

- (NSString *)MIMEType:(NSURL *)url
{
    // 1.创建一个请求
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    NSURLResponse *response = nil;
    // 2.发送请求(返回响应)
    [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    // 3.获得MIMEType
    return response.MIMEType;
}

二、通过UTTypeCopyPreferredTagWithClass方法

注意:需要导入 <MobileCoreServices/MobileCoreServices.h>

- (NSString *)mimeTypeForFileAtPath:(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) {
        //application/octet-stream 任意的二进制数据类型
        return @"application/octet-stream";
    }
    return (__bridge NSString *)(MIMEType);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 小文件下载如果文件比较小,下载方式会比较多直接用NSData的+ (id)dataWithContentsOfUR...
    醉叶惜秋阅读 4,338评论 0 0
  • 小文件下载如果文件比较小,下载方式会比较多直接用NSData的+ (id)dataWithContentsOfUR...
    JonesCxy阅读 3,940评论 0 1
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 9,112评论 2 7
  • 一、网络基础知识介绍 1、为什么要学习网络编程?---pptx介绍。 2、网络的基本概念---pptx介绍。 >什...
    小番茄阳阳阅读 3,865评论 0 0
  • NSURLConnection实现文件上传 文件上传步骤1.确定请求路径2.根据URL创建一个可变的请求对象3.设...
    搁浅的青蛙阅读 4,084评论 0 1