• 获得文件的MIMEType


    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
    {
    //    NSString *str = [self getMIMEType];
    //    NSLog(@"%@",str);
    //
        NSString *str = [self mimeTypeForFileAtPath:@"/Users/xmg/Desktop/122.mp4"];
        NSLog(@"%@",str);
        
    }
    
    //向该文件发送请求,根据请求头拿到该文件的MIMEType
    -(NSString *)getMIMEType
    {
        //1.确定请求路径
        NSURL *url = [NSURL fileURLWithPath:@"/Users/xmg/Desktop/122.mp4"];
        
        //2.创建可变的请求对象
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
        
        //3.发送请求
        NSHTTPURLResponse *response = nil;
        [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
        
        NSString *mimeType = response.MIMEType;
        return mimeType;
    }
    
    //调用C语言的API来获得文件的MIMEType
    -(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) {
            return @"application/octet-stream";
        }
        return (__bridge NSString *)(MIMEType)
        ;
    }
    
    //可以直接百度
    

    注意:用C语言API获得文件的MIMEType要导入系统库

  • 相关阅读:
    django QuerySet对象转换成字典对象
    HTTP请求中三种参数类型
    django开发中遇到的问题
    win7下mysql8.0.12解压缩版安装
    Django小部件
    程序员上班有什么提高效率的技巧?
    Android应用AsyncTask处理机制详解及源码分析
    Android常用工具类
    Android Volley解析
    Android 开发有哪些新技术出现?
  • 原文地址:https://www.cnblogs.com/xzk-it/p/6591975.html
Copyright © 2020-2023  润新知