mirror of
https://github.com/cloudreve/cloudreve.git
synced 2026-03-13 09:24:07 +08:00
fix: skip 0kb placeholder object as directory in file listing (#3347)
This commit is contained in:
@@ -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 打开文件
|
||||
|
||||
Reference in New Issue
Block a user