优化
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user