diff --git a/pkg/object/ibmcos.go b/pkg/object/ibmcos.go index d035922a532b..bbd8b970c9de 100644 --- a/pkg/object/ibmcos.go +++ b/pkg/object/ibmcos.go @@ -143,9 +143,11 @@ func (s *ibmcos) List(prefix, marker, delimiter string, limit int64) ([]Object, Prefix: &prefix, Marker: &marker, MaxKeys: &limit, - Delimiter: &delimiter, EncodingType: aws.String("url"), } + if delimiter != "" { + param.Delimiter = &delimiter + } resp, err := s.s3.ListObjects(¶m) if err != nil { return nil, err diff --git a/pkg/object/ks3.go b/pkg/object/ks3.go index d93d9eb70628..b17cf3ec5043 100644 --- a/pkg/object/ks3.go +++ b/pkg/object/ks3.go @@ -148,9 +148,11 @@ func (s *ks3) List(prefix, marker, delimiter string, limit int64) ([]Object, err Prefix: &prefix, Marker: &marker, MaxKeys: &limit, - Delimiter: &delimiter, EncodingType: aws.String("url"), } + if delimiter != "" { + param.Delimiter = &delimiter + } resp, err := s.s3.ListObjects(¶m) if err != nil { return nil, err diff --git a/pkg/object/qingstor.go b/pkg/object/qingstor.go index f6b110f269f3..eb9da8717086 100644 --- a/pkg/object/qingstor.go +++ b/pkg/object/qingstor.go @@ -167,10 +167,12 @@ func (q *qingstor) List(prefix, marker, delimiter string, limit int64) ([]Object } limit_ := int(limit) input := &qs.ListObjectsInput{ - Prefix: &prefix, - Marker: &marker, - Limit: &limit_, - Delimiter: &delimiter, + Prefix: &prefix, + Marker: &marker, + Limit: &limit_, + } + if delimiter != "" { + input.Delimiter = &delimiter } out, err := q.bucket.ListObjects(input) if err != nil { diff --git a/pkg/object/s3.go b/pkg/object/s3.go index 43181cca392e..f372d42a4e85 100644 --- a/pkg/object/s3.go +++ b/pkg/object/s3.go @@ -177,9 +177,11 @@ func (s *s3client) List(prefix, marker, delimiter string, limit int64) ([]Object Prefix: &prefix, Marker: &marker, MaxKeys: &limit, - Delimiter: &delimiter, EncodingType: aws.String("url"), } + if delimiter != "" { + param.Delimiter = &delimiter + } resp, err := s.s3.ListObjects(¶m) if err != nil { return nil, err