Перейти к содержимому

Раздача статических файлов

Gin предоставляет три метода для раздачи статического контента:

  • router.Static(relativePath, root) — Раздаёт всю директорию. Запросы к relativePath сопоставляются с файлами в root. Например, router.Static("/assets", "./assets") раздаёт ./assets/style.css по адресу /assets/style.css.
  • router.StaticFS(relativePath, fs) — Как Static, но принимает интерфейс http.FileSystem, давая вам больше контроля над тем, как разрешаются файлы. Используйте это, когда нужно раздавать файлы из встроенной файловой системы или настроить поведение листинга директорий.
  • router.StaticFile(relativePath, filePath) — Раздаёт один файл. Полезно для эндпоинтов вроде /favicon.ico или /robots.txt.
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
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")
}