网络编程(09)MIMEType

一、部分文件的MIMEType

类型 文件拓展名 MIMEType
图片 png image/png
图片 bmp\dib image/bmp
图片 jpe\jpeg\jpg image/jpeg
图片 gif image/gif
多媒体 MP3 image/audio/mpeg
多媒体 MP4\mpg4\m4vmp4v video/mp4
文本 js application/javascript
文本 pdf application/pdf
文本 text\txt text/plain
文本 json application/json
文本 xml text/xml

二、 获取文件的MimeTyep的途径主要有以下几种

  • 1查表
  • 2 发送网络请求,从请求的响应头获取
    [[NSURLSession sharedSession] dataTaskWithURL:[NSURL URLWithString:@"http://127.0.0.1/abc.png"] completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
        NSLog(@"response MIMEType:%@ ",response.MIMEType);
    } ];

``
- 3 调用C语言的Api 获取
```objc
-(NSString *)mimeTypeForFileAtPath:(NSString *)path{
    
    if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
        return nil;
    }
    
   
    CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,
                                          (__bridge CFStringRef)[path pathExtension],
                                          NULL);
    
    CFStringRef mimeType =   UTTypeCopyPreferredTagWithClass(UTI,  kUTTagClassMIMEType);
    
    CFRelease(UTI);
    if (mimeType != nil) {
        return (__bridge NSString *)(mimeType);
    }
    
    return @"application/octet-stream"; // 这时一种通用的Mimetype
    
}

  • 4 使用通用的二进制数据类型 "application/octet-stream"

你可能感兴趣的:(网络编程(09)MIMEType)