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);
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容