Heim >Backend-Entwicklung >Golang >Warum gibt mein Go-FileServer den falschen Content-Type-MIME-Typ zurück?
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!