如何根据 Objective-C 中的 MIME 类型确定适当的文件扩展名
How to determine appropriate file extension from MIME Type in Objective-C
我正在使用 NSData
对象来存储不同类型的数据。对象也包含 MIME 格式字符串。但是为了使用 [UIDocumentInteractionController interactionControllerWithURL:]
方法,我需要将 NSData
对象保存到文件系统。
问题是如何根据MIME格式指定文件扩展名?
感谢@makadev 的 this link,他将其作为评论发布,但我想我会将其添加为实际答案。这是从那篇文章派生的一些代码,适用于 iOS 11。请注意,您需要 link 使用/导入 MobileCoreServices 框架。您为下面的 mimetype
标记填写的值应该是 NSString*
.
NSString* uti = (__bridge_transfer NSString*)UTTypeCreatePreferredIdentifierForTag(kUTTagClassMIMEType, (__bridge CFStringRef)<#mimetype#>, NULL);
NSString* extension = (__bridge_transfer NSString*)UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)uti, kUTTagClassFilenameExtension);
我正在使用 NSData
对象来存储不同类型的数据。对象也包含 MIME 格式字符串。但是为了使用 [UIDocumentInteractionController interactionControllerWithURL:]
方法,我需要将 NSData
对象保存到文件系统。
问题是如何根据MIME格式指定文件扩展名?
感谢@makadev 的 this link,他将其作为评论发布,但我想我会将其添加为实际答案。这是从那篇文章派生的一些代码,适用于 iOS 11。请注意,您需要 link 使用/导入 MobileCoreServices 框架。您为下面的 mimetype
标记填写的值应该是 NSString*
.
NSString* uti = (__bridge_transfer NSString*)UTTypeCreatePreferredIdentifierForTag(kUTTagClassMIMEType, (__bridge CFStringRef)<#mimetype#>, NULL);
NSString* extension = (__bridge_transfer NSString*)UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)uti, kUTTagClassFilenameExtension);