Incompatibilité de type MIME du serveur de fichiers HTTP
Lors de l'utilisation de http.FileServer pour servir des fichiers avec des types MIME spécifiques, un problème courant survient lorsque le serveur répond avec un type MIME incorrect, tel que "text/html" au lieu du "audio/mpeg" souhaité pour MP3 fichiers.
Pour résoudre ce problème, nous devons nous plonger dans la mise en œuvre de http.FileServer. Ce middleware récupère simplement un fichier du répertoire spécifié et le renvoie sous forme de réponse HTTP. Cependant, il n'a pas de contrôle explicite sur le type MIME attribué à la réponse.
La solution réside dans la modification du modèle de traitement des requêtes pour http.FileServer. En ajoutant une barre oblique finale au modèle, comme ceci :
http.Handle("/media/", http.StripPrefix("/media/", fs))
Nous créons essentiellement un gestionnaire de sous-arbre enraciné. Selon la documentation de net/http.ServeMux, les modèles plus longs ont priorité sur les plus courts. En ajoutant la barre oblique finale, nous garantissons que ce gestionnaire sera appelé spécifiquement pour les requêtes dans le sous-arbre "/media/". Cela nous permet de servir les fichiers MP3 avec leur type MIME correct.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!