c# - 如何从 .NET Core 中的 ContentType(MIME 类型)获取文件扩展名?
问题描述
我将文件保存到 CosmosDB,并保存 FormFile 的 ContentType,然后使用它来填充 FileType 属性(类似于“pdf”或“msword”)。问题是 .doc 和 .docx (例如)具有不同的 MIME 类型,我需要看到它们都转到“msword”属性,我正在寻找一种可靠的方法来做到这一点。我知道我必须以某种方式映射我自己的类,但我不知道从哪里开始。
解决方案
ASP.NET Core 具有文件扩展名和 mime 类型之间的映射。此列表并不详尽,但它是一个好的开始(370 个条目)。此外,您需要反转字典中的键和值以满足您的需要。
如果您使用的是 Windows,则可以使用注册表查找一些映射。您可以探索HKEY_LOCAL_MACHINE\Software\Classes
查找 mime 类型信息:https ://docs.microsoft.com/en-us/windows/desktop/shell/fa-file-types