From 48889a1c90520701943c0e2121bd4986108b74ca Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 7 May 2026 14:12:45 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=BC=93=E5=AD=98=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 上传新文件时删除同类型旧文件,避免文件堆积 - 文件名带时间戳,每次上传生成新 URL - 缓存时间设为 1 年 + immutable,文件更新后 URL 变化自动重新请求 --- backend/cmd/main.go | 2 +- backend/internal/router/admin/system_settings.go | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/cmd/main.go b/backend/cmd/main.go index c0f3b5e..8984b33 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -233,7 +233,7 @@ func startServer() { r.Use(func(c *gin.Context) { if strings.HasPrefix(c.Request.URL.Path, "/uploads/") { - c.Header("Cache-Control", "public, max-age=3600") + c.Header("Cache-Control", "public, max-age=31536000, immutable") } c.Next() }) diff --git a/backend/internal/router/admin/system_settings.go b/backend/internal/router/admin/system_settings.go index 2b8a0ba..aa1d23d 100644 --- a/backend/internal/router/admin/system_settings.go +++ b/backend/internal/router/admin/system_settings.go @@ -382,6 +382,12 @@ func handleUploadSystemImage(c *gin.Context) { return } + pattern := filepath.Join(uploadDir, uploadType+"_*") + oldFiles, _ := filepath.Glob(pattern) + for _, oldFile := range oldFiles { + os.Remove(oldFile) + } + filename := fmt.Sprintf("%s_%d%s", uploadType, time.Now().UnixNano(), ext) filePath := filepath.Join(uploadDir, filename)