首頁 >後端開發 >Golang >為什麼我的 Go FileServer 回傳錯誤的 Content-Type MIME 類型?

為什麼我的 Go FileServer 回傳錯誤的 Content-Type MIME 類型?

Patricia Arquette
Patricia Arquette原創
2024-11-27 12:53:10859瀏覽

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

「Content-Type」Mime 類型不正確的FileServer 回應

簡介
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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn