修改 http.FileServer 返回的 Mime 类型
Go 中的 http.FileServer 包提供了一种便捷的方式来提供静态文件。但是,有时,FileServer 返回的默认 mime 类型可能不准确。例如,如果您有一个 mp3 文件目录,FileServer 可能会为它们提供 text/html 的 Content-Type 标头,这会导致媒体播放器出现问题。本文解决了 FileServer 提供不正确 mime 类型的常见问题并提供了解决方案。
问题中提供的代码将 FileServer 设置为在 /media 端点处提供 mp3 文件目录。出现此问题的原因是对 mp3 文件的请求与文件服务器的模式不匹配。模式 /media 缺少尾部斜杠,这导致文件服务器处理程序被绕过。
要解决此问题,请修改模式以包含尾部斜杠:
http.Handle("/media/", http.StripPrefix("/media/", fs))
通过添加尾部斜杠,我们创建一个根子树处理程序,匹配以“/media/”开头的所有路径。这确保了 FileServer 将处理 mp3 文件的请求并以正确的 mime 类型为它们提供服务。
以上是如何使用 http.FileServer 正确提供文件并避免不正确的 Mime 类型?的详细内容。更多信息请关注PHP中文网其他相关文章!