Files
sundynix-go/utils/upload/oss_instance.go
T
2025-10-11 15:13:58 +08:00

32 lines
837 B
Go

package upload
import (
"fmt"
"mime/multipart"
"sundynix-go/global"
)
// oss 对象存储接口
type Oss interface {
UploadFile(file *multipart.FileHeader) (string, string, error)
DeleteFile(key string) error
}
// OssInstance 实例化oos方法
func OssInstance() Oss {
switch global.Config.System.OssType {
case "local":
fmt.Println("local")
case "tencent-cos":
return &TencentCOS{}
case "minio":
minioClient, err := GetMinio(global.Config.Minio.Endpoint, global.Config.Minio.AccessKeyId, global.Config.Minio.AccessKeySecret, global.Config.Minio.BucketName, global.Config.Minio.UseSSL)
if err != nil {
global.Logger.Warn("minio初始化失败,请检查minio可用性或安全配置:" + err.Error())
panic("minio初始化失败,请检查minio可用性或安全配置")
}
return minioClient
}
return nil
}