minio修改图片上传-支持多图上传
mongo增加类型转换-将entity 转换为 bson.M
This commit is contained in:
@@ -65,13 +65,33 @@ func initMinIO(ctx context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func UploadImage(fileHeader *ghttp.UploadFile) (presignedUrl string, err error) {
|
||||
ctx := context.Background()
|
||||
func UploadImages(ctx context.Context, fileHeaders []*ghttp.UploadFile) (imagesUrls []string, err error) {
|
||||
imageUrls := make([]string, 0, len(fileHeaders)) // 存储上传后的图片访问地址
|
||||
for _, fileHeader := range fileHeaders {
|
||||
var imageUrl string
|
||||
imageUrl, err = uploadImg(ctx, fileHeader)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
imageUrls = append(imageUrls, imageUrl)
|
||||
}
|
||||
return imageUrls, err
|
||||
}
|
||||
|
||||
func UploadImage(ctx context.Context, fileHeader *ghttp.UploadFile) (imagesUrl string, err error) {
|
||||
// 初始化 MinIO 客户端
|
||||
err = initMinIO(ctx)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("初始化 MinIO 客户端失败: %w", err)
|
||||
}
|
||||
imageUrl, err := uploadImg(ctx, fileHeader)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return imageUrl, err
|
||||
}
|
||||
|
||||
func uploadImg(ctx context.Context, fileHeader *ghttp.UploadFile) (imagesUrl string, err error) {
|
||||
// 生成唯一的 MinIO 对象名(避免覆盖)
|
||||
fileExt := filepath.Ext(fileHeader.Filename) // 原文件后缀(如 .jpg)
|
||||
uniqueID := uuid.New().String()[:8] // 8位随机UUID
|
||||
@@ -91,7 +111,7 @@ func UploadImage(fileHeader *ghttp.UploadFile) (presignedUrl string, err error)
|
||||
}
|
||||
// 执行图片上传
|
||||
_, err = minioClient.PutObject(
|
||||
context.Background(),
|
||||
ctx,
|
||||
minioCfg.BucketName,
|
||||
objectName,
|
||||
file,
|
||||
|
||||
Reference in New Issue
Block a user