ファイル拡張子に基づいて MIME タイプをプログラム的に決定する
多くのアプリケーションでは、ファイルの拡張子からファイルの MIME (MultiPurpose Internet Mail Extensions) タイプを判断する必要があります。 これは、Web 開発において特に重要であり、サーバーが送信中にさまざまなファイル タイプを正しく処理できるようにします。
方法と解決策
開発環境に応じて、いくつかのアプローチが存在します。
ASP.NET Core (および類似のフレームワーク) の場合:
FileExtensionContentTypeProvider.TryGetContentType(fileName, out contentType)
を雇用します。MimeTypes
NuGet パッケージを利用します。MimeMappings
ファイルを統合します。.NET Framework 4.5 以降の場合:
System.Web.MimeMapping.GetMimeMapping
メソッドを使用します。 次のような単純な呼び出しで十分です:<code class="language-csharp">string mimeType = MimeMapping.GetMimeMapping(fileName);</code>
カスタム MIME タイプの処理
カスタム MIME タイプ マッピングが必要な状況では、リフレクションを使用して MimeMapping
クラスを拡張できます。 ただし、この方法は信頼性が低くなります:
mimeMappingExtended
)。MimeMapping._mappingDictionary.AddMapping(fileExtension, mimeType)
を使用します。カスタムマッピングに関する注意:
リフレクションによる MIME タイプ マッピングの変更にはリスクが伴います。 プライベート フィールドは .NET のバージョン間で変更される可能性があるため、予期しない動作を防ぐために、堅牢なエラー処理と展開前の徹底的なテストが必要です。
以上が拡張子に基づいてファイルの MIME タイプをプログラムで判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。