fix: skip 0kb placeholder object as directory in file listing

pull/3347/head
Darren Yu 2 weeks ago
parent 0f2f35d7d4
commit 9147a3f058
No known key found for this signature in database
GPG Key ID: 2D69AA5646405984

@ -138,7 +138,6 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
}
// 是否为递归列出
if !recursive {
opt.Delimiter = "/"
}
@ -172,8 +171,8 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
// 处理列取结果
res := make([]fs.PhysicalObject, 0, len(objects)+len(commons))
// 处理目录
// 处理目录
for _, object := range commons {
rel, err := filepath.Rel(opt.Prefix, object)
if err != nil {
@ -191,8 +190,10 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
onProgress(len(commons))
// 处理文件
for _, object := range objects {
if strings.HasSuffix(object.Key, "/") && object.Size == 0 {
continue
}
rel, err := filepath.Rel(opt.Prefix, object.Key)
if err != nil {
handler.l.Warning("Failed to get relative path: %s", err)

@ -174,6 +174,9 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
// 处理文件
for _, object := range objects {
if strings.HasSuffix(*object.Key, "/") && *object.Size == 0 {
continue
}
rel, err := filepath.Rel(*opt.Prefix, *object.Key)
if err != nil {
continue

@ -149,8 +149,8 @@ func (d *Driver) List(ctx context.Context, base string, onProgress driver.ListPr
// 处理列取结果
res := make([]fs.PhysicalObject, 0, len(objects)+len(commons))
// 处理目录
// 处理目录
for _, object := range commons {
rel, err := filepath.Rel(opt.Prefix, object)
if err != nil {
@ -168,8 +168,10 @@ func (d *Driver) List(ctx context.Context, base string, onProgress driver.ListPr
onProgress(len(commons))
// 处理文件
for _, object := range objects {
if strings.HasSuffix(object.Key, "/") && object.Size == 0 {
continue
}
rel, err := filepath.Rel(opt.Prefix, object.Key)
if err != nil {
d.l.Warning("Failed to get relative path: %s", err)
@ -187,7 +189,6 @@ func (d *Driver) List(ctx context.Context, base string, onProgress driver.ListPr
onProgress(len(res))
return res, nil
}
func (d *Driver) Put(ctx context.Context, file *fs.UploadRequest) error {

@ -192,6 +192,7 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
// 处理列取结果
res := make([]fs.PhysicalObject, 0, len(objects)+len(commons))
// 处理目录
for _, object := range commons {
rel, err := filepath.Rel(base, *object.Prefix)
@ -210,6 +211,9 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
// 处理文件
for _, object := range objects {
if strings.HasSuffix(*object.Key, "/") && object.Size == 0 {
continue
}
rel, err := filepath.Rel(base, *object.Key)
if err != nil {
continue

@ -122,6 +122,7 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
// 处理列取结果
res := make([]fs.PhysicalObject, 0, len(objects)+len(commons))
// 处理目录
for _, object := range commons {
rel, err := filepath.Rel(base, object)
@ -140,6 +141,9 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
// 处理文件
for _, object := range objects {
if strings.HasSuffix(object.Key, "/") && object.Fsize == 0 {
continue
}
rel, err := filepath.Rel(base, object.Key)
if err != nil {
continue

@ -164,6 +164,9 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
// 处理文件
for _, object := range objects {
if strings.HasSuffix(*object.Key, "/") && *object.Size == 0 {
continue
}
rel, err := filepath.Rel(*opt.Prefix, *object.Key)
if err != nil {
continue
@ -180,7 +183,6 @@ func (handler *Driver) List(ctx context.Context, base string, onProgress driver.
onProgress(len(objects))
return res, nil
}
// Open 打开文件

Loading…
Cancel
Save