go>=1.16
- 单个嵌入支持 string []byte两种类型,需要定义到main外面
_ "embed" //支持单个嵌入
//go:embed 1.txt
var t string
//go:embed imgs/png/a.png
var png []byte
- 目录多文件,必须如下才能读取到
"embed"
//go:embed js
var dir embed.FS
t, _ := dir.ReadFile("js/1.txt") //文件
fmt.Println(string(t))
t, err := dir.ReadDir("js") //目录
for _, entry := range t {
info, _ := entry.Info()
fmt.Println("file name:", entry.Name(), "\tisDir:", entry.IsDir(), "\tsize:", info.Size())
}
- gin中使用
//go:embed static
var static embed.FS
r.StaticFS("/static",http.FS(static)) //静态服务器,模板中 /static/static/weui/1.js
r.StaticFile("/favicon.png", "/static/static/weui/images/favicon.png") //单个图片
单个图片另一种写法
r.GET("/favicon.png", func(c *gin.Context) {
file, _ := static.ReadFile("/static/static/weui/images/favicon.png")
c.Data(200, "image/png", file, )
})
t, _ := template.ParseFS(static, "static/template/*.html")//使用模板 "html/template"
r.SetHTMLTemplate(t)
r.StaticFS("/static",http.Dir("static")) //标准静态服务器 "/static/weui/images/favicon.png"
r.LoadHTMLFiles("/static/template/shop.html") //调用模板,支持多个模板
r.LoadHTMLGlob("templates/*") //加载目录,不能有非模板文件
作者:Yoby 创建时间:2020-11-04 20:49
更新时间:2024-12-05 13:26
更新时间:2024-12-05 13:26