Get UTI (uniform type identifier) and ContentType
2024-09-27 19:15:40
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *args = [[NSProcessInfo processInfo] arguments];
if ([args count] < ) {
printf("USAGE:\n\tuti <filenameExtension>\nEXAMPLE:\n\tuti jpg png\n");
exit(EXIT_SUCCESS);
} NSArray *extensions = [args subarrayWithRange:NSMakeRange(, [args count] - )];
for (NSString *filenameExtension in extensions) {
NSString *UTI = (__bridge_transfer NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)filenameExtension, NULL);
NSString *contentType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)UTI, kUTTagClassMIMEType);
printf("%s\nUTI: %s\nContentType: %s\n",[filenameExtension UTF8String] , [UTI UTF8String], [contentType UTF8String]);
}
}
return ;
}
--demo--
$ uti jpg png
jpg
UTI: public.jpeg
ContentType: image/jpeg
png
UTI: public.png
ContentType: image/png
最新文章
- One EEG preprocessing pipeline - EEG-fMRI paradigm
- vim正则表达式~转
- 02_Hello World!
- Spark随机深林扩展—OOB错误评估和变量权重
- Eclipse帮助文档配置
- \r\n在php中有什么用
- (转载)SQL联合查询中的关键语法
- android 73 下载图片
- 谈谈Parser --王垠
- MongoDB基本shell操作
- phpstudy 版本切换注意的问题
- day1 安装jdk8环境及第一个java程序
- 我眼中的 Nginx(二):HTTP/2 dynamic table size update
- python之错误调试
- 学习总结(ASP.NET MVC 5)
- VC++下使用ADO操作数据库
- 【HNOI2017】单旋
- 如何使用FLASHGOT下载网页FLASH
- 2.5 – Garbage Collection 自动垃圾回收 Stop-the-world vs. incremental vs. concurrent 垃圾回收策略
- 以太坊入门-solidity环境搭建