Как получить расширения файлов из ContentType (типы MIME) в .NET Core? - PullRequest
0 голосов
/ 06 мая 2019

Я сохраняю файлы в CosmosDB и сохраняю ContentType FormFile, а затем использую его для заполнения свойства FileType (которое будет похоже на «pdf» или «msword»). Проблема в том, что .doc и .docx (например) имеют разные типы MIME, и мне нужно убедиться, что они оба переходят к свойству «msword», и я ищу SOLID способ сделать это. Я знаю, что должен как-то сопоставить свои собственные классы, но я не уверен, с чего начать.

1 Ответ

2 голосов
/ 06 мая 2019

ASP.NET Core имеет отображение между расширением файла и MIME-типами. Этот список не является исчерпывающим, но это хорошее начало (370 записей). Кроме того, вам нужно поменять ключ и значение в словаре в соответствии с вашими потребностями.

Исходный код: https://github.com/aspnet/AspNetCore/blob/fa239f20a52defa06029f6a316846d6e190e05bb/src/Middleware/StaticFiles/src/FileExtensionContentTypeProvider.cs

Если вы работаете в Windows, вы можете использовать реестр, чтобы найти некоторые сопоставления. Вы можете исследовать HKEY_LOCAL_MACHINE\Software\Classes, чтобы найти информацию о типе пантомимы: https://docs.microsoft.com/en-us/windows/desktop/shell/fa-file-types

...