![](/img/trans.png)
[英]regex: Matching a javascript mime type in content-type http header
[英]http.FileServer response with wrong mime “Content-Type”
我正在使用http.FileServer來提供mp3文件的目錄,我的模板然后在javascript中使用src
。 但是,響應使用Content-Type
text/html
而不是audio/mpeg
。 如何設置FileServer響應的mime類型,我看到了這個問題在golang HTTP FileServer中的Content-Type標頭上設置'charset'屬性 ,但我仍然不確定如何覆蓋mime類型。
我的代碼如下所示:
fs := http.FileServer(http.Dir(dir))
http.Handle("/media", http.StripPrefix("/media", fs))
http.HandleFunc("/", p.playlistHandler)
http.ListenAndServe(":5177", nil)
我得到的錯誤是:
HTTP "Content-Type" of "text/html" is not supported. Load of media resource http://localhost:5177/media/sample1.mp3 failed.
這不是內容類型的問題。 當你請求mp3時,你的fs
處理程序沒有被調用。 您需要像這樣在模式/media
和條帶前綴中添加/
http.Handle("/media/", http.StripPrefix("/media/", fs))
原因在於net / http.ServeMux的文檔
模式名稱固定,帶根的路徑,如“/favicon.ico”,或帶根的子樹,如“/ images /”(請注意尾部斜杠)。 較長的模式優先於較短的模式,因此如果有“/ images /”和“/ images / thumbnails /”注冊的處理程序,則后面的處理程序將被調用以“/ images / thumbnails /”開頭的路徑和前者將收到“/ images /”子樹中任何其他路徑的請求。
使用/media
您正在為路徑注冊處理程序,但是使用尾部斜杠,它會將其視為有rooted subtree
,並將在該樹下提供請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.