HTTP FileServer MIME Type Mismatch
http.FileServer を使用して特定の MIME タイプのファイルを提供する場合、サーバーが応答するときに一般的な問題が発生しますMP3 に必要な「audio/mpeg」ではなく「text/html」など、MIME タイプが正しくありません。
この問題を解決するには、http.FileServer の実装を詳しく調べる必要があります。このミドルウェアは、指定されたディレクトリからファイルを取得し、それを HTTP 応答として返すだけです。ただし、応答に割り当てられる MIME タイプを明示的に制御することはできません。
解決策は、http.FileServer の要求処理パターンを変更することです。次のようにパターンの末尾にスラッシュを追加することで、
http.Handle("/media/", http.StripPrefix("/media/", fs))
基本的にルート化されたサブツリー ハンドラーを作成します。 net/http.ServeMux のドキュメントによると、長いパターンは短いパターンよりも優先されます。末尾のスラッシュを追加することで、このハンドラーが「/media/」サブツリー内のリクエストに対して特に呼び出されることを保証します。これにより、MP3 ファイルを正しい MIME タイプで提供できるようになります。
以上がHTTP FileServer の不正な MIME タイプ応答を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。