ホームページ > バックエンド開発 > C++ > 拡張子に基づいてファイルの MIME タイプをプログラムで判断するにはどうすればよいですか?

拡張子に基づいてファイルの MIME タイプをプログラムで判断するにはどうすればよいですか?

DDD
リリース: 2025-01-09 16:47:42
オリジナル
588 人が閲覧しました

How Can I Programmatically Determine a File's MIME Type Based on Its Extension?

ファイル拡張子に基づいて MIME タイプをプログラム的に決定する

多くのアプリケーションでは、ファイルの拡張子からファイルの MIME (MultiPurpose Internet Mail Extensions) タイプを判断する必要があります。 これは、Web 開発において特に重要であり、サーバーが送信中にさまざまなファイル タイプを正しく処理できるようにします。

方法と解決策

開発環境に応じて、いくつかのアプローチが存在します。

ASP.NET Core (および類似のフレームワーク) の場合:

  • FileExtensionContentTypeProvider.TryGetContentType(fileName, out contentType)を雇用します。
  • 堅牢なソリューションのために MimeTypes NuGet パッケージを利用します。
  • .NET Framework 参照ソースから 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート