zoukankan      html  css  js  c++  java
  • 获得文件的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要导入系统库

  • 相关阅读:
    第二阶段:冲刺2(个人界面的优化---头像上传)
    第二阶段:冲刺1(任务的分配)
    学习进度第12周
    读书笔记《人月神话》1
    学习进度第11周
    读书笔记《编程珠矶》3
    学习进度第10周
    第一阶段:冲刺10(完结)
    第十五周学习进度总结
    第十四周学习进度总结
  • 原文地址:https://www.cnblogs.com/xzk-it/p/6591975.html
Copyright © 2011-2022 走看看