如何为静态文件设置HTTP头部?

huangapple go评论87阅读模式
英文:

How to set http headers for static files?

问题

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

英文:

I use gin-gonic's r.Static("files", "./files") to serve all files in the files directory. Is there a way to set headers for these file requests so I can allow CORS?

答案1

得分: 3

这里有一个官方的Gin中间件提供这个功能。

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

func main() {
    router := gin.Default()
    // - 默认情况下不允许来源
    // - GET、POST、PUT、HEAD方法
    // - 禁用共享凭据
    // - 预检请求缓存12小时
    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()
}
英文:

There is an official Gin middleware providing this functionality.

A Good starting template (from their examples)

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()
}

huangapple
  • 本文由 发表于 2017年3月30日 17:24:17
  • 转载请务必保留本文链接:https://go.coder-hub.com/43113649.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定