我怎样才能得到Mimeinput不是基于扩展名的IOS

我们知道我们可以从文件的扩展名中得到文件的MIME TYPE,但并不完全一样,例如我们改变了文件的扩展名,我们将得到错误的MIMEtypes。 我们也知道在C#中使用文件签名来获取MIMEtypes的方式(使用使用.NET的urlmon.dll ,如何根据文件签名而不是扩展名find文件的MIMEtypes ,我的问题是我们如何才能在IOS中得到确切的mimetypes,无论文件的扩展名被某个人改变了,我们都能得到正确的mimetypes。

感谢您的关注〜!

你能告诉我,当我得到一个文件的path时,我是如何得到正确的mimetypes的。

iOS使用统一types标识符 (UTI)的概念来处理文档types。

 NSString *path; // contains the file path // Get the UTI from the file's extension: CFStringRef pathExtension = (__bridge_retained CFStringRef)[path pathExtension]; CFStringRef type = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension, NULL); CFRelease(pathExtension); // The UTI can be converted to a mime type: NSString *mimeType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass(type, kUTTagClassMIMEType); if (type != NULL) CFRelease(type); 

你应该考虑直接使用UTI来达到你的目的,而不是把它们转换成不那么强大的MIMEtypes。