【问题标题】:How do I get file extensions from ContentType(MIME types) in .NET Core?如何从 .NET Core 中的 ContentType(MIME 类型)获取文件扩展名?
【发布时间】:2019-09-24 05:19:12
【问题描述】:

我正在将文件保存到 CosmosDB,并保存 FormFile 的 ContentType,然后使用它来填充 FileType 属性(类似于“pdf”或“msword”)。问题是 .doc 和 .docx (例如)具有不同的 MIME 类型,我需要看到它们都转到“msword”属性,我正在寻找一种可靠的方法来做到这一点。我知道我必须以某种方式映射我自己的类,但我不确定从哪里开始。

【问题讨论】:

    标签: c# asp.net .net .net-core mime


    【解决方案1】:

    ASP.NET Core 具有文件扩展名和 mime 类型之间的映射。此列表并不详尽,但它是一个好的开始(370 个条目)。此外,您需要反转字典中的键和值以满足您的需要。

    源码:https://github.com/aspnet/AspNetCore/blob/fa239f20a52defa06029f6a316846d6e190e05bb/src/Middleware/StaticFiles/src/FileExtensionContentTypeProvider.cs

    如果您使用的是 Windows,则可以使用注册表查找一些映射。您可以浏览HKEY_LOCAL_MACHINE\Software\Classes 以查找 mime 类型信息:https://docs.microsoft.com/en-us/windows/desktop/shell/fa-file-types

    【讨论】:

      猜你喜欢
      • 2010-11-05
      • 2015-06-13
      • 2010-12-09
      • 2011-05-27
      • 2020-05-19
      • 2013-09-11
      • 2014-06-14
      相关资源
      最近更新 更多