Heim >Backend-Entwicklung >Golang >Warum gibt mein Go-FileServer den falschen Content-Type-MIME-Typ zurück?

Warum gibt mein Go-FileServer den falschen Content-Type-MIME-Typ zurück?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-27 12:53:10906Durchsuche

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

FileServer-Antwort mit falschem „Content-Type“-Mime-Typ

Einführung
FileServer ist ein leistungsstarkes Go-Paket zum Bereitstellen statischer Dateien. Es können jedoch Probleme auftreten, bei denen die Antwort einen falschen Mime-Typ „Content-Type“ zurückgibt, z. B. „text/html“ anstelle von „audio/mpeg“. Dies kann ein Problem sein, wenn Sie bestimmte Dateitypen bereitstellen, die bestimmte MIME-Typen erfordern.

Antwort
Um dieses Problem zu beheben, ist es nicht erforderlich, den MIME-Typ zu überschreiben. Das Problem liegt vielmehr in der Konfiguration des FileServers. Insbesondere ist das zur Bearbeitung von Anfragen verwendete Muster möglicherweise nicht korrekt.

Lösung
Die Lösung besteht darin, dem Muster, das zur Bearbeitung von Anfragen verwendet wird, einen abschließenden Schrägstrich hinzuzufügen. Anstelle von:

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

sollten Sie beispielsweise Folgendes verwenden:

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

Erläuterung
Der abschließende Schrägstrich zeigt an, dass das Muster eher einen verwurzelten Teilbaum darstellt als ein fester Weg. Das bedeutet, dass der FileServer Anfragen für jeden Pfad innerhalb des „/media/“-Unterbaums bedient.

Validierung
Um sicherzustellen, dass der Fix funktioniert, können Sie versuchen, auf die MP3 zuzugreifen Datei erneut. Sie sollten nun eine Antwort mit dem richtigen „Content-Type“-Mime-Typ „audio/mpeg“ erhalten.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Go-FileServer den falschen Content-Type-MIME-Typ zurück?. 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