Обычно на джине вы используете router.Statuc(path, dir)
, однако вы сказали, что сначала загрузите список файлов, и я думаю, вы позже будете использовать http.ServeFile
.
С go-bindata
у вас есть все файлы уже внутриисполняемый файл, вы можете получить к ним доступ, используя функцию Asset(file)
...
По сути, это очень простой статический обработчик для gin:
func StaticHandler(c *gin.Context) {
p := c.Param("filepath")
data, err := Assets(p)
if err != nil { return }
c.Writer.Write(data)
}
Вы можете зарегистрировать статический обработчик в своемrouter:
router.GET("/static/*filepath", StaticHandler)
Это позволяет получить доступ к статическим ресурсам следующим образом: /static/css/style.css
и загрузит файл css/style.css
Вы можете получить списокфайлы внутри вашей папки, создайте карту и используйте эту карту для статического обработчика (для ограничения доступа к файлам)