From 1b81299fd592f448929751692f2207f345c33995 Mon Sep 17 00:00:00 2001 From: qhd <1766646056@qq.com> Date: Tue, 23 Jun 2026 10:32:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0minio=E5=86=85?= =?UTF-8?q?=E7=BD=91=E8=AE=BF=E9=97=AE=E5=9C=B0=E5=9D=80=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=8E=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 分离CDN与MinIO内网地址,在文件上传响应中新增内网地址前缀字段 --- config.yml | 5 ++++- model/dto/file_dto.go | 13 +++++++------ service/file_service.go | 18 +++++++++++------- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/config.yml b/config.yml index db91e1c..ded7316 100644 --- a/config.yml +++ b/config.yml @@ -100,9 +100,12 @@ minio: secure: false # 本地 MinIO 关闭 SSL(生产按需改为 true) region: "us-east-1" # 与 MinIO 服务端 REGION 一致(默认 us-east-1) -# 文件上传服务地址,与oss模块minio中的endpoint一致 +# 文件上传服务地址,cdn访问地址 filePrefix: "http://cdn.redpowerfuture.com" +# 文件上传服务地址,minio内网访问地址 +minioPrefix: "http://192.168.0.83:9000" + # 文件存储初始化容量大小配置 oss: capacitySize: 5000 #文件存储初始化容量(单位MB) diff --git a/model/dto/file_dto.go b/model/dto/file_dto.go index 5fcf51a..d2ddb58 100644 --- a/model/dto/file_dto.go +++ b/model/dto/file_dto.go @@ -37,10 +37,11 @@ type UploadFile struct { // UploadFileRes 上传文件响应 type UploadFileRes struct { - FileURL string `json:"fileURL" dc:"上传地址"` - FileSize int `json:"fileSize" dc:"文件大小"` - FileName string `json:"fileName" dc:"文件名称"` - FileFormat string `json:"fileFormat" dc:"文件格式"` - FileAddressPrefix string `json:"fileAddressPrefix"` - Items []*UploadFileRes `json:"files"` + FileURL string `json:"fileURL" dc:"上传地址"` + FileSize int `json:"fileSize" dc:"文件大小"` + FileName string `json:"fileName" dc:"文件名称"` + FileFormat string `json:"fileFormat" dc:"文件格式"` + FileAddressPrefix string `json:"fileAddressPrefix"` + FileMinioAddressPrefix string `json:"fileMinioAddressPrefix"` + Items []*UploadFileRes `json:"files"` } diff --git a/service/file_service.go b/service/file_service.go index 96c9eb4..f014075 100644 --- a/service/file_service.go +++ b/service/file_service.go @@ -10,6 +10,7 @@ import ( "oss/minio" "oss/model/dto" "oss/model/entity" + "strings" "time" "github.com/gogf/gf/v2/net/ghttp" @@ -101,6 +102,7 @@ func (f *file) UploadFiles(ctx context.Context, req *dto.UploadFileReq) (res *dt } prefix, _ := utils.GetFileAddressPrefix(ctx) + newPrefix := strings.ReplaceAll(prefix, "http://cdn.redpowerfuture.com", g.Cfg().MustGet(ctx, "minioPrefix").String()) items := make([]*dto.UploadFileRes, 0, len(files)) for _, file := range files { @@ -124,16 +126,18 @@ func (f *file) UploadFiles(ctx context.Context, req *dto.UploadFileReq) (res *dt } items = append(items, &dto.UploadFileRes{ - FileURL: fileURL, - FileSize: gconv.Int(file.Size), - FileName: fileName, - FileFormat: fileFormat, - FileAddressPrefix: prefix, + FileURL: fileURL, + FileSize: gconv.Int(file.Size), + FileName: fileName, + FileFormat: fileFormat, + FileAddressPrefix: prefix, + FileMinioAddressPrefix: newPrefix, }) } fileRes := &dto.UploadFileRes{ - FileAddressPrefix: prefix, - Items: items, + FileAddressPrefix: prefix, + FileMinioAddressPrefix: newPrefix, + Items: items, } return fileRes, nil }