Maison >développement back-end >Golang >Pourquoi mon Go FileServer renvoie-t-il le mauvais type MIME de type de contenu ?

Pourquoi mon Go FileServer renvoie-t-il le mauvais type MIME de type de contenu ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-27 12:53:10842parcourir

Why Does My Go FileServer Return the Wrong Content-Type MIME Type?

Réponse de FileServer avec un type MIME « Content-Type » incorrect

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn