http.FileServer によって返される MIME タイプの変更
Go の http.FileServer パッケージは、静的ファイルを提供する便利な方法を提供します。ただし、FileServer から返されるデフォルトの MIME タイプが正確でない場合があります。たとえば、mp3 ファイルのディレクトリがある場合、FileServer は text/html の Content-Type ヘッダーを付けてファイルを提供する可能性があり、メディア プレーヤーで問題が発生する可能性があります。この記事では、FileServer が不正な MIME タイプを提供するという一般的な問題に対処し、解決策を提供します。
質問で提供されているコードは、/media エンドポイントで mp3 ファイルのディレクトリを提供するように FileServer を設定します。この問題は、mp3 ファイルのリクエストが FileServer のパターンと一致しないために発生しました。パターン /media には末尾のスラッシュがないため、FileServer ハンドラーがバイパスされました。
この問題を解決するには、末尾のスラッシュを含むようにパターンを変更します。
http.Handle("/media/", http.StripPrefix("/media/", fs))
次のように追加します。末尾のスラッシュを使用すると、「/media/」で始まるすべてのパスに一致するルート化されたサブツリー ハンドラーが作成されます。これにより、FileServer が mp3 ファイルのリクエストを処理し、正しい MIME タイプでサービスを提供できるようになります。
以上がhttp.FileServer でファイルを正しく提供し、不正な MIME タイプを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。