我正在关注building a webpage in go的教程.本教程中的所有内容都很容易掌握,但我正在尝试扩展它.具体来说,我正在尝试添加一些静态文件(图片).我一直在浏览go docs并遇到FileServer并添加
http.Servefile(w,r,"/home/jeff/web/foo.jpg")
在我的处理程序中,我看到正在提供的图像,但它没有使用模板
<h1>{{.Title}}</h1><p>[<a href="/edit/{{.Title}}">edit</a>]</p><img src="foo.jpg" alt="moooooo"><img src="foo.jpg" alt="foooooo"><div>{{printf "%s" .Body}}</div>
*我也尝试过提供图像的完整路径.
我想要做的是让图像占据我在模板中小心放置的HTML标签.
我希望图像出现在我告诉他们的地方,但是应该得到空白的图像.我没有看到任何错误,说无法找到该文件.
我认为这应该工作的方式(再次没有这方面的经验)是通过告诉服务器我有这个目录,其中包含一些静态文件,每当模板请求图像检查这里,如果找到它服务它.似乎并不那么简单.我究竟做错了什么?我怎样才能让它发挥作用?
我在我的主要使用http.ListenAndServe(“:8080”,nil)换句话说我没有使用apache或其他一些web服务器
解决方法 应该从模板的不同URL路径提供图像.您需要使用以下内容定义静态文件的提供位置:
http.Handle("/static/",http.StripPrefix("/static/",http.fileServer(http.Dir("/home/jeff/web/"))))
然后确保< img>源URL类似于:
<img src="/static/foo.jpg" alt="moooooo">
希望有所帮助.
总结以上是内存溢出为你收集整理的转到网页静态文件服务全部内容,希望文章能够帮你解决转到网页静态文件服务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)