您的位置:首页 > 理论基础 > 计算机网络

iOS开发之网络编程--获取文件的MIMEType

2016-03-11 00:00 701 查看
前言:有时候我们需要获取文件的MIMEType的信息,下面就介绍关于获取MIMEType的方法。

1、直接百度搜索关键字"MIMEType",你会找到,然后查吧:



2、用代码获取文件的MIMEType信息:

1 #import "GetMIMEType.h"
2
3 #import <MobileCoreServices/MobileCoreServices.h>
4
5 @implementation GetMIMEType  6
7 #pragma mark - 类方法
8 + (NSString*)getMIMETypeURLRequestAtFilePath:(NSString*)path{  9     return [[[GetMIMEType alloc] init] getMIMETypeURLRequestAtPath:path]; 10 } 11
12 + (NSString *)getMIMETypeWithCAPIAtFilePath:(NSString *)path{ 13     return [[[GetMIMEType alloc] init] getMIMETypeWithCAPIAtFilePath:path]; 14 } 15 #pragma mark - 对象方法
16 //向该文件发送请求,根据请求头拿到该文件的MIMEType
17 -(NSString *)getMIMETypeURLRequestAtPath:(NSString*)path 18 { 19     //1.确定请求路径
20     NSURL *url = [NSURL fileURLWithPath:path]; 21
22     //2.创建可变的请求对象
23     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 24
25     //3.发送请求
26     NSHTTPURLResponse *response = nil; 27     [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil]; 28
29     NSString *mimeType = response.MIMEType; 30     return mimeType; 31 } 32
33 //调用C语言的API来获得文件的MIMEType ,只能获取本地文件哦,无法获取网络请求来的文件
34 -(NSString *)getMIMETypeWithCAPIAtFilePath:(NSString *)path 35 { 36     if (![[[NSFileManager alloc] init] fileExistsAtPath:path]) { 37         return nil; 38  } 39
40     CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)[path pathExtension], NULL); 41     CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass (UTI, kUTTagClassMIMEType); 42  CFRelease(UTI); 43     if (!MIMEType) { 44         return @"application/octet-stream"; 45  } 46     return (__bridge NSString *)(MIMEType) 47  ; 48 } 49
50 @end


运行:



github源码下载:https://github.com/HeYang123456789/GetMIMEType
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: