2 回答
TA贡献1884条经验 获得超4个赞
引用原始杜松子酒文档:https://github.com/gin-gonic/gin#serving-static-files
func main() {
router := gin.Default()
router.Static("/assets", "./assets")
router.StaticFS("/more_static", http.Dir("my_file_system"))
router.StaticFile("/favicon.ico", "./resources/favicon.ico")
// Listen and serve on 0.0.0.0:8080
router.Run(":8080")
}
因此基本上您应该在您定义的其他路由旁边定义一个特定于 JSON 文件的路由。然后使用它。
TA贡献1804条经验 获得超2个赞
如果你想根据查询路径提供静态文件,你可以这样做:
func serve() {
r := gin.Default()
r.GET("/*path", func(c *gin.Context) {
// read from file
data, err := os.ReadFile("/path/to/file")
if err != nil {
// error handler
}
switch path.Ext(c.Request.URL.Path) {
case ".html":
c.Header("Content-Type", "text/html")
case ".css":
c.Header("Content-Type", "text/css")
case ".js":
c.Header("Content-Type", "application/javascript")
// ...
}
_, _ = c.Writer.Write(data)
})
// Listen and serve on 0.0.0.0:8080
panic(r.Run(":8080"))
}
- 2 回答
- 0 关注
- 142 浏览
添加回答
举报