Maison >développement back-end >Golang >Comment puis-je servir correctement des fichiers avec http.FileServer et éviter les types MIME incorrects ?

Comment puis-je servir correctement des fichiers avec http.FileServer et éviter les types MIME incorrects ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-29 05:42:12341parcourir

How Can I Correctly Serve Files with http.FileServer and Avoid Incorrect Mime Types?

Modification des types MIME renvoyés par http.FileServer

Le package http.FileServer dans Go fournit un moyen pratique de servir des fichiers statiques. Cependant, il arrive parfois que les types MIME par défaut renvoyés par FileServer ne soient pas précis. Par exemple, si vous disposez d'un répertoire de fichiers mp3, FileServer peut les servir avec un en-tête Content-Type de type text/html, ce qui entraînerait des problèmes avec les lecteurs multimédias. Cet article aborde le problème courant de FileServer servant des types MIME incorrects et propose une solution.

Le code fourni dans la question configure FileServer pour qu'il serve un répertoire de fichiers mp3 au point de terminaison /media. Le problème est survenu parce que la demande du fichier mp3 ne correspondait pas au modèle du serveur de fichiers. Il manquait une barre oblique de fin dans le modèle /media, ce qui a entraîné le contournement du gestionnaire du serveur de fichiers.

Pour résoudre ce problème, modifiez le modèle pour inclure une barre oblique de fin :

http.Handle("/media/", http.StripPrefix("/media/", fs))

En ajoutant la barre oblique finale, nous créons un gestionnaire de sous-arbre enraciné qui correspond à tous les chemins commençant par "/media/". Cela garantit que FileServer traitera les demandes de fichiers mp3 et les servira avec le 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!

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