ホームページ  >  記事  >  バックエンド開発  >  Go で標準サポートを超える MIME タイプを検出する方法: カスタム パッケージの比較。

Go で標準サポートを超える MIME タイプを検出する方法: カスタム パッケージの比較。

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-25 06:22:29956ブラウズ

How to Detect MIME Types Beyond Standard Support in Go: A Comparison of Custom Packages.

標準サポートを超える Golang の追加 MIME タイプの検出

標準 Go の http.DetectContentType([]byte) 関数は、限られた数の MIME タイプを識別できます。 MIME タイプ。 DOCX、XLS、PPT、ODP などのファイル拡張子に基づいていない検出を含む、より包括的な検出のために、コミュニティはいくつかのカスタム パッケージを開発しました。

カスタマイズ可能な MIME タイプ検出用の推奨パッケージ

  • filetype:

    • C バインディングのない純粋な Go 実装
    • カスタム MIME タイプ検出のために簡単に拡張可能
    • 曖昧さに関する潜在的な問題 (例: XLSX と DOCX はどちらも ZIP として認識される)
    • 検出される組み込み MIME タイプの数が限られている
  • magicmime:

    • libmagic-dev のインストールが必要
    • サポートされる MIME タイプの数が最も多い広範な検出機能
    • libmagic で拡張可能
    • スレッドセーフではありません
  • mimetype:

    • C バインディングなしの Pure Go、
    • ファイルタイプよりも多くの MIME タイプがサポートされています
    • スレッドセーフ
    • 拡張可能、ユーザー定義の検出ルールが可能

使用例

これらのパッケージを使用するには、go get コマンドを使用してインストールします。例:

go get github.com/howeyc/fs

次に、パッケージをコードにインポートし、その API を利用します。 MIME タイプ検出用。具体的な使用方法については、各パッケージのドキュメントを参照してください。

これらのライブラリのいずれかを選択することで、開発者は Golang での MIME タイプ検出機能を拡張でき、適切に機能しているかどうかに関係なく、ファイル タイプをより正確に識別できるようになります。 -既知の拡張子かどうか。

以上がGo で標準サポートを超える MIME タイプを検出する方法: カスタム パッケージの比較。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。