如何为静态文件设置http headers?

How to set http headers for static files?

我使用 gin-gonic 的 r.Static("files", "./files") 来提供 files 目录中的所有文件。有没有办法为这些文件请求设置 headers 以便允许 CORS?

an official Gin middleware 提供此功能。

一个好的起始模板(来自他们的例子)

func main() {
    router := gin.Default()
    // - No origin allowed by default
    // - GET,POST, PUT, HEAD methods
    // - Credentials share disabled
    // - Preflight requests cached for 12 hours
    config := cors.DefaultConfig()
    config.AllowOrigins = []string{"http://google.com"}
    config.AddAllowOrigins("http://facebook.com")
    // config.AllowOrigins == []string{"http://google.com", "http://facebook.com"}

    router.Use(cors.New(config))
    router.Run()
}