如何在不基于扩展的IOS中获得Mime Type



我们知道我们可以从文件的扩展名中获得文件的MIME类型,但这并不准确。例如,我们更改了文件的扩展名将获得错误的MIME类型。此外,我们还知道在C#中通过文件签名获得mime类型的方法,(使用urlmon.dll使用.NET,如何根据文件签名而不是扩展名来找到文件的mime类型,我的问题是,我们如何在IOS中获得确切的mime类型,无论文件的扩展名被某人更改,我们都可以获得正确的mime型。

感谢您的关注~!

你能告诉我当我得到一个文件的路径。

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

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直接用于您的目的,而不是将它们转换为功能较弱的mime类型。

相关内容

  • 没有找到相关文章

最新更新