Heim >Backend-Entwicklung >Golang >Wie kann ich falsche MIME-Typ-Antworten des HTTP-FileServers beheben?

Wie kann ich falsche MIME-Typ-Antworten des HTTP-FileServers beheben?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-09 14:31:10610Durchsuche

How Can I Fix HTTP FileServer's Incorrect MIME Type Responses?

Nichtübereinstimmung des HTTP-FileServer-MIME-Typs

Bei der Verwendung von http.FileServer zur Bereitstellung von Dateien mit bestimmten MIME-Typen tritt ein häufiges Problem auf, wenn der Server antwortet mit einem falschen MIME-Typ, z. B. „text/html“ anstelle des gewünschten „audio/mpeg“ für MP3 Dateien.

Um dieses Problem zu lösen, müssen wir uns mit der Implementierung von http.FileServer befassen. Diese Middleware ruft einfach eine Datei aus dem angegebenen Verzeichnis ab und gibt sie als HTTP-Antwort zurück. Es hat jedoch keine explizite Kontrolle über den der Antwort zugewiesenen MIME-Typ.

Die Lösung liegt in der Änderung des Anforderungsverarbeitungsmusters für http.FileServer. Indem wir dem Muster einen abschließenden Schrägstrich hinzufügen, etwa so:

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

Wir erstellen im Wesentlichen einen verwurzelten Teilbaum-Handler. Laut der Dokumentation von net/http.ServeMux haben längere Muster Vorrang vor kürzeren. Durch das Hinzufügen des abschließenden Schrägstrichs stellen wir sicher, dass dieser Handler speziell für Anfragen innerhalb des Teilbaums „/media/“ aufgerufen wird. Dadurch können wir die MP3-Dateien mit ihrem korrekten MIME-Typ bereitstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich falsche MIME-Typ-Antworten des HTTP-FileServers beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn