Browse Source

feat: 添加文件上传接口用于存储用户头像

BaiLuoYan 4 days ago
parent
commit
f1c409f823
1 changed files with 3 additions and 9 deletions
  1. 3 9
      internal/logic/auth/minioUploadLogic.go

+ 3 - 9
internal/logic/auth/minioUploadLogic.go

@@ -69,18 +69,12 @@ func (l *MinioUploadLogic) MinioUpload(fileHeader *multipart.FileHeader, file mu
 		return nil, err
 	}
 
-	src, err := fileHeader.Open()
-	if err != nil {
-		return nil, err
-	}
-	defer src.Close()
-
 	hash := md5.New()
-	if _, err := io.Copy(hash, src); err != nil {
+	if _, err := io.Copy(hash, file); err != nil {
 		return nil, response.ErrBadRequest("md5 计算失败: " + err.Error())
 	}
 	fileMd5 := hex.EncodeToString(hash.Sum(nil))
-	src.Seek(0, io.SeekStart)
+	file.Seek(0, io.SeekStart)
 
 	fileExt := filepath.Ext(fileHeader.Filename)
 	dir := strings.TrimSpace(parseDir(minioFileType.Dir))
@@ -102,7 +96,7 @@ func (l *MinioUploadLogic) MinioUpload(fileHeader *multipart.FileHeader, file mu
 
 	errCode := minio.ToErrorResponse(statErr).Code
 	if errCode == "AccessDenied" || errCode == "NoSuchKey" {
-		info, err := l.svcCtx.MinioClient.PutObject(l.ctx, minioFileType.Bucket, objectPath, src, fileHeader.Size, minio.PutObjectOptions{
+		info, err := l.svcCtx.MinioClient.PutObject(l.ctx, minioFileType.Bucket, objectPath, file, fileHeader.Size, minio.PutObjectOptions{
 			ContentType: contentType,
 		})
 		if err != nil {