This commit is contained in:
2026-08-16 01:19:10 +08:00
parent c4b114762b
commit c554152f4f
43 changed files with 1311 additions and 318 deletions
+3 -1
View File
@@ -95,7 +95,9 @@ func (s *aliyunStorage) List(_ context.Context, prefix, cursor string, limit int
}
items := make([]*biz.StoredFile, 0, len(result.Objects))
for _, object := range result.Objects {
items = append(items, s.file(object.Key, object.Size))
item := s.file(object.Key, object.Size)
item.LastModified = object.LastModified
items = append(items, item)
}
next := ""
if result.IsTruncated {
+5 -1
View File
@@ -141,7 +141,11 @@ func (s *awsStorage) List(ctx context.Context, prefix, cursor string, limit int)
if object.Size != nil {
size = *object.Size
}
items = append(items, s.file(*object.Key, size))
item := s.file(*object.Key, size)
if object.LastModified != nil {
item.LastModified = *object.LastModified
}
items = append(items, item)
}
next := ""
if result.NextContinuationToken != nil {
+3 -1
View File
@@ -94,7 +94,9 @@ func (s *huaweiStorage) List(_ context.Context, prefix, cursor string, limit int
}
items := make([]*biz.StoredFile, 0, len(result.Contents))
for _, object := range result.Contents {
items = append(items, s.file(object.Key, object.Size))
item := s.file(object.Key, object.Size)
item.LastModified = object.LastModified
items = append(items, item)
}
next := result.NextMarker
if result.IsTruncated && next == "" && len(result.Contents) > 0 {
+2 -1
View File
@@ -6,6 +6,7 @@ import (
"encoding/hex"
"fmt"
"io"
"mime"
"os"
"path/filepath"
"sort"
@@ -200,7 +201,7 @@ func (s *fileStorage) List(ctx context.Context, prefix, cursor string, limit int
if infoErr != nil {
return infoErr
}
items = append(items, &biz.StoredFile{Name: entry.Name(), Path: relative, URL: s.urlPrefix + "/" + relative, Size: info.Size()})
items = append(items, &biz.StoredFile{Name: entry.Name(), Path: relative, URL: s.urlPrefix + "/" + relative, Size: info.Size(), LastModified: info.ModTime(), ContentType: mime.TypeByExtension(filepath.Ext(entry.Name()))})
return nil
})
if err != nil {
+4 -1
View File
@@ -120,7 +120,10 @@ func (s *qiniuStorage) List(ctx context.Context, prefix, cursor string, limit in
}
out := make([]*biz.StoredFile, 0, len(entries))
for _, entry := range entries {
out = append(out, s.file(entry.Key, entry.Fsize))
item := s.file(entry.Key, entry.Fsize)
item.LastModified = time.Unix(0, entry.PutTime*100)
item.ContentType = entry.MimeType
out = append(out, item)
}
return out, marker, more, nil
}
+4 -1
View File
@@ -118,7 +118,10 @@ func (s *s3Storage) List(ctx context.Context, prefix, cursor string, limit int)
if item.Err != nil {
return nil, "", false, item.Err
}
out = append(out, s.file(item.Key, item.Size))
file := s.file(item.Key, item.Size)
file.LastModified = item.LastModified
file.ContentType = item.ContentType
out = append(out, file)
if len(out) > limit {
break
}
+9 -1
View File
@@ -8,6 +8,7 @@ import (
"net/url"
"path"
"strings"
"time"
cos "github.com/tencentyun/cos-go-sdk-v5"
"kra/internal/biz"
@@ -107,7 +108,14 @@ func (s *tencentStorage) List(ctx context.Context, prefix, cursor string, limit
}
items := make([]*biz.StoredFile, 0, len(result.Contents))
for _, object := range result.Contents {
items = append(items, s.file(object.Key, object.Size))
item := s.file(object.Key, object.Size)
for _, layout := range []string{time.RFC3339, "2006-01-02T15:04:05.000Z"} {
if parsed, parseErr := time.Parse(layout, object.LastModified); parseErr == nil {
item.LastModified = parsed
break
}
}
items = append(items, item)
}
next := result.NextMarker
if result.IsTruncated && next == "" && len(result.Contents) > 0 {