为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Go Chi 提供静态文件?

如何使用 Go Chi 提供静态文件?

Go
元芳怎么了 2022-12-26 10:52:16
    我正在学习 Go,但在使用我的服务器提供静态文件时遇到了问题。我总是得到 404。请求是为了http://localhost:3001/static/breakfast.jpg路由器+文件服务器mux := chi.NewRouter()    mux.Get("/", handlers.Repo.Home)fileServer := http.FileServer(http.Dir("./static/"))mux.Handle("/static/*", http.StripPrefix("/static", fileServer))静态文件路径root/static/我的模板主页.tmpl{{template "base" .}}{{define "content"}}<div class="container">    <div class="row">        <div class="col">            <h1>Hi from home page</h1>            <img src="/static/breakfast.jpg" width="1920" height="1080" alt="house" />        </div>    </div></div>{{ end }}我究竟做错了什么?
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

来源告诉http.Dir您相对于您运行文件的目录提供main.go文件。如果你传递绝对路径那么它独立于此并且通过阅读代码更容易理解:

http.Dir("/static/")

(因为在您的情况下这是文件系统上的绝对路径)。

请注意此处http.Dir所述的一些注意事项:

(即它的目录分隔符是操作系统相关的,该方法可以遵循危险的符号链接,并且可以列出以点开头的文件并公开敏感目录,如.git


查看完整回答
反对 回复 2022-12-26
  • 1 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号