From 532b3ff8df0d84cff6269e283f91ca971a751961 Mon Sep 17 00:00:00 2001 From: nyne Date: Mon, 26 May 2025 16:31:07 +0800 Subject: [PATCH] Implement S3 delete logic in Delete method --- server/storage/s3.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/server/storage/s3.go b/server/storage/s3.go index f3532cc..ba94426 100644 --- a/server/storage/s3.go +++ b/server/storage/s3.go @@ -68,7 +68,21 @@ func (s *S3Storage) Download(storageKey string, fileName string) (string, error) } func (s *S3Storage) Delete(storageKey string) error { - // TODO: Implement S3 delete logic here + minioClient, err := minio.New(s.EndPoint, &minio.Options{ + Creds: credentials.NewStaticV4(s.AccessKeyID, s.SecretAccessKey, ""), + Secure: true, + }) + if err != nil { + log.Error("Failed to create S3 client: ", err) + return errors.New("failed to create S3 client") + } + + ctx := context.Background() + err = minioClient.RemoveObject(ctx, s.BucketName, storageKey, minio.RemoveObjectOptions{}) + if err != nil { + log.Error("Failed to delete file from S3: ", err) + return errors.New("failed to delete file from S3") + } return nil }