在 iOS 上识别我的不带文件扩展名的 mime 类型

Posted

技术标签:

【中文标题】在 iOS 上识别我的不带文件扩展名的 mime 类型【英文标题】:Recognize my mime type without file extensions on iOS 【发布时间】:2012-05-22 00:17:02 【问题描述】:

我正在编写一个需要识别我的自定义 mime 类型的应用程序,以便在从服务器下载此类文件时启动我的应用程序。我在 How do I associate file types with an iPhone application? 阅读了 Brad 关于如何在 ios 下编写 mime 类型识别器的精彩文章,它运行良好当且仅当文件的扩展名也在 UTExportedTypeDeclarations / UTTypeTagSpecification 部分中指定我的 plist 和服务器为具有相同扩展名的文件提供服务。如果服务器以不同的扩展名提供文件,或者 plist 中没有指定扩展名 mime-type 匹配,则会发生以下情况:

浏览器(或接收文件的应用程序)显示我的文件类型的正确图标以及正确的 [Open in myApplication] 按钮,但单击该按钮没有任何反应,我的应用程序未启动,如果它正在运行,没有发送application:openURL:sourceApplication:annotation: 消息。

有没有什么方法可以编写一个只基于 mime-type 的文件类型识别器,而不需要特定的文件扩展名?

【问题讨论】:

【参考方案1】:

这个问题已经得到解答,您会想要使用 NSURLRequest,这将允许您访问 mimeType,您可以根据需要使用它来确定文件扩展名。完整的代码和其他提示和技巧可在这篇文章中找到:

https://***.com/a/1401918/728261

【讨论】:

恐怕你误解了这个问题。我正在系统中注册一种新的 mime 类型,并且希望系统将这些文件(由浏览器下载、邮件附件等)转发给我,即使只知道它们的 mime 类型,而扩展名不知道。 所以如果是你的文件,你能不能用你可以在安装你的应用程序时注册的自定义扩展名创建文件? 是的,这可能是 iOS 的解决方案,但我必须与不同的系统(具有其他平台的移动客户端、服务器基础架构和 HTTP 等)合作,摆脱还需要传递文件扩展名。

以上是关于在 iOS 上识别我的不带文件扩展名的 mime 类型的主要内容,如果未能解决你的问题,请参考以下文章

如何在不基于扩展的 IOS 中获取 Mime 类型

Zip Mime 类型似乎无法识别

来自 PHP 文件信息的不正确/不受欢迎的 ogv MIME 类型

如何使用 php 在文件上设置 mime 类型?

将 MIME 类型转换为文件扩展名 PHP

在 Windows 上查找文件的 MIME 类型