HTTP FileServer MIME 类型不匹配
使用 http.FileServer 提供特定 MIME 类型的文件时,服务器响应时会出现常见问题MIME 类型不正确,例如“text/html”而不是 MP3 所需的“audio/mpeg”
要解决这个问题,我们需要深入研究http.FileServer的实现。该中间件只是从指定目录检索文件并将其作为 HTTP 响应返回。但是,它对分配给响应的 MIME 类型没有显式控制。
解决方案在于修改 http.FileServer 的请求处理模式。通过在模式中添加尾部斜杠,如下所示:
http.Handle("/media/", http.StripPrefix("/media/", fs))
我们本质上创建了一个有根子树处理程序。根据 net/http.ServeMux 的文档,较长的模式优先于较短的模式。通过添加尾部斜杠,我们确保将专门针对“/media/”子树中的请求调用该处理程序。这使我们能够以正确的 MIME 类型提供 MP3 文件。
以上是如何修复 HTTP 文件服务器不正确的 MIME 类型响应?的详细内容。更多信息请关注PHP中文网其他相关文章!