pobj-minio.diff

· erock's pastes · raw

expires: 2025-04-26

 1diff --git a/storage/minio.go b/storage/minio.go
 2index 6a17215..1de0487 100644
 3--- a/storage/minio.go
 4+++ b/storage/minio.go
 5@@ -159,22 +159,20 @@ func (s *StorageMinio) GetObject(bucket Bucket, fpath string) (utils.ReaderAtClo
 6 		ETag:         "",
 7 	}
 8 
 9-	info, err := s.Client.StatObject(context.Background(), bucket.Name, fpath, minio.StatObjectOptions{})
10+	obj, err := s.Client.GetObject(context.Background(), bucket.Name, fpath, minio.GetObjectOptions{})
11+	if err != nil {
12+		return nil, objInfo, err
13+	}
14+	info, err := obj.Stat()
15 	if err != nil {
16 		return nil, objInfo, err
17 	}
18-
19 	objInfo.LastModified = info.LastModified
20 	objInfo.ETag = info.ETag
21 	objInfo.Metadata = info.Metadata
22 	objInfo.UserMetadata = info.UserMetadata
23 	objInfo.Size = info.Size
24 
25-	obj, err := s.Client.GetObject(context.Background(), bucket.Name, fpath, minio.GetObjectOptions{})
26-	if err != nil {
27-		return nil, objInfo, err
28-	}
29-
30 	if mtime, ok := info.UserMetadata["Mtime"]; ok {
31 		mtimeUnix, err := strconv.Atoi(mtime)
32 		if err == nil {