ファイル拡張子から MIME タイプを取得するにはどうすればよいですか?
ベストアンサー1
ASP.NETまたはその他の
ASP.NET Coreではオプションが少し変更されました。以下がその変更内容です(クレジット):
new FileExtensionContentTypeProvider().TryGetContentType(fileName, out contentType);
(vNextのみ)- テストはしていませんが、公開されているMIMEタイプリストを公式に拡張できるようです。
Mappings
財産。
- テストはしていませんが、公開されているMIMEタイプリストを公式に拡張できるようです。
- 使用
MimeTypes
NuGet パッケージ MimeMappings
ファイルをコピーします参照元.NET Framework の
.NET Framework >= 4.5 の場合:
使用System.Web.MimeMapping.GetMimeMapping
メソッドは、.NET Framework 4.5 の BCL の一部です。
string mimeType = MimeMapping.GetMimeMapping(fileName);
カスタム マッピングを追加する必要がある場合は、おそらくリフレクションを使用して BCLMimeMapping
クラスにマッピングを追加できます。このメソッドを公開するカスタム ディクショナリが使用されるため、マッピングを追加するには以下を呼び出す必要があります (テストは行っていませんが、おそらく動作するはずです)。
いずれにせよ、リフレクションを使用して MIME タイプを追加する場合は、プライベート フィールドにアクセスしているため、その名前が変更されたり、完全に削除されたりする可能性があることに注意してください。そのため、細心の注意を払い、二重チェックを追加し、すべてのステップでフェイルセーフ アクションを提供する必要があります。
MimeMapping._mappingDictionary.AddMapping(string fileExtension, string mimeType)