如何从 MIME 类型确定文件扩展名?
如何从 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"的条目。
是否有更完善的映射表可以在安卓中使用?还是有其他的想法?
如何从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类型映射表嵌入应用程序中。这可以通过参考给出的相关链接来实现。