Maison >développement back-end >Golang >Pourquoi mon Go FileServer renvoie-t-il le mauvais type MIME de type de contenu ?
Introduction
FileServer est un package Go puissant pour servir des fichiers statiques. Cependant, vous pouvez rencontrer des problèmes où la réponse renvoie un type MIME « Content-Type » incorrect, tel que « texte/html » au lieu de « audio/mpeg ». Cela peut poser un problème si vous traitez des types de fichiers spécifiques qui nécessitent des types MIME spécifiques.
Réponse
Pour résoudre ce problème, il n'est pas nécessaire de remplacer le type MIME. Au lieu de cela, le problème réside dans la façon dont le FileServer est configuré. Plus précisément, le modèle utilisé pour traiter les requêtes peut ne pas être correct.
Solution
La solution consiste à ajouter une barre oblique finale au modèle utilisé pour gérer les requêtes. Par exemple, au lieu de :
http.Handle("/media", http.StripPrefix("/media", fs))
Vous devez utiliser :
http.Handle("/media/", http.StripPrefix("/media/", fs))
Explication
La barre oblique finale indique que le motif représente plutôt un sous-arbre enraciné qu'un chemin fixe. Cela signifie que le serveur de fichiers répondra aux requêtes pour n'importe quel chemin dans la sous-arborescence "/media/".
Validation
Pour vous assurer que le correctif fonctionne, vous pouvez tenter d'accéder au fichier mp3. fichier à nouveau. Vous devriez maintenant recevoir une réponse avec le type MIME « Content-Type » correct, « audio/mpeg ».
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!