簡介
FileServer 是一個功能強大的Go 包,用於提供靜態文件。但是,您可能會遇到回應傳回不正確的「Content-Type」mime 類型的問題,例如「text/html」而不是「audio/mpeg」。如果您提供需要特定 mime 類型的特定文件類型,這可能會出現問題。
答案
要解決此問題,無需覆蓋 mime 類型。相反,問題在於文件伺服器的配置方式。具體來說,用於處理請求的模式可能不正確。
解決方案
解決方案是在用於處理請求的模式中加入尾部斜線。例如,不應使用:
http.Handle("/media", http.StripPrefix("/media", fs))
,您應該使用:
http.Handle("/media/", http.StripPrefix("/media/", fs))
說明
尾斜線表示該模式表示有根子樹,而不是而非固定路徑。這意味著檔案伺服器將為“/media/”子樹中的任何路徑提供請求。
驗證
為了確保修復有效,您可以嘗試訪問 mp3再次歸檔。現在您應該收到包含正確“Content-Type”mime 類型“audio/mpeg”的回應。
以上是為什麼我的 Go FileServer 回傳錯誤的 Content-Type MIME 類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!