如何从 MIME 类型确定文件扩展名?

2 浏览
0 Comments

如何从 MIME 类型确定文件扩展名?

我正在尝试找出在安卓中根据MIME类型确定文件扩展名的最佳方法。

通常以内容URI的形式提供MIME类型,我可以按以下方式获取它:

ContentResolver contentResolver = context.getContentResolver();
String mimeType = contentResolver.getType(uri);

然后我一直在使用MimeTypeMap:

MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
String extension = mimeTypeMap.getExtensionFromMimeType(mimeType);

这在大多数情况下都很有效,但存在一些明显的问题,其中之一是没有"audio/mp4"的条目。

是否有更完善的映射表可以在安卓中使用?还是有其他的想法?

0
0 Comments

如何从MIME类型确定文件扩展名?

在Android中是否有更完整的映射可用?

不,抱歉。

还有其他想法吗?

将自己的MIME类型映射表嵌入应用程序中。参见:

- [List of ALL MimeTypes on the Planet, mapped to File Extensions?](https://stackoverflow.com/q/1735659/115145)

- [complete list of mime-type <-> file extension mapping](https://stackoverflow.com/q/7609208/115145)

- [Convert MimeType to extension](https://stackoverflow.com/q/48053127/115145)

等等。

根据上述内容,我们可以得出问题的出现原因是Android没有内置更完整的映射表可用。解决方法是将自己的MIME类型映射表嵌入应用程序中。这可以通过参考给出的相关链接来实现。

0