網頁

2021/7/8

Golang Gin 靜態資源路徑 static files

Gin提供靜態資源檔案的設定方式如下。


範例環境:

  • Go 1.16
  • Gin 1.7.2

Gin要提供專案目錄中的靜態資源,可使用EngineRouterGroup屬性的
Static(relativePath, root string)設定目錄為靜態資源路徑;
StaticFile(relativePath, filepath string)設定單一檔案的資源位址。

例如專案檔案目錄結構如下。main.go為主程式,/resources目錄中有gopher.png/static目錄中有golang.png

/
├─ main.go
├─ resources/
│  └─ gopher.png
└─ static/
   └─ golang.png

下面設定API/static可取得./static目錄中的檔案;
/gopher可取得./resources/gopher.png

main.go

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    router := gin.Default()

    router.Static("/static", "./static")
    router.StaticFile("/gopher", "./resources/gopher.png")

    router.Run()
}


啟動專案在瀏覽器位址輸入
http://localhost:8080/static/golang.png可取得golang.png
http://localhost:8080/gopher可取得gopher.png


下面寫法同上面router.StaticFile("/gopher", "./resources/gopher.png")的效果。

main.go

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    router := gin.Default()

    router.GET("/gopher", func(c *gin.Context) {
        c.File("./resources/gopher.png")
    })

    router.Run()
}


沒有留言:

張貼留言