package middleware import ( "strings" "github.com/gin-gonic/gin" ) // UploadStaticCache 上传文件长缓存:/uploads 下文件名均为上传时随机生成、 // 写入后不覆盖(SaveAvatar/SaveImage 等均新建文件),URL 内容恒定,可安全 // immutable。PageSpeed「缓存生命周期」修复项。 func UploadStaticCache() gin.HandlerFunc { return func(c *gin.Context) { if strings.HasPrefix(c.Request.URL.Path, "/uploads/") { c.Header("Cache-Control", "public, max-age=31536000, immutable") } c.Next() } }