本文档介绍如何列举存储空间(Bucket)中的所有文件(Object)。

以下代码用于列举存储空间中的所有文件:

OSSGetBucketRequest * getBucket = [OSSGetBucketRequest new];
getBucket.bucketName = @"<bucketName>";

// 以下参数为可选参数,具体含义及说明请参见下表。
// getBucket.marker = @"";
// getBucket.maxKeys = @"";
// getBucket.prefix = @"";
// getBucket.delimiter = @"";

OSSTask * getBucketTask = [client getBucket:getBucket];

[getBucketTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        OSSGetBucketResult * result = task.result;
        NSLog(@"get bucket success!");
        for (NSDictionary * objectInfo in result.contents) {
            NSLog(@"list object: %@", objectInfo);
        }
    } else {
        NSLog(@"get bucket failed, error: %@", task.error);
    }
    return nil;
}];
		

可选参数的名称和作用如下:

参数 描述
delimiter 对文件名称进行分组的一个字符。所有名称包含指定的前缀且第一次出现 delimiter 字符之间的文件作为一组(commonPrefixes)。
prefix 限定返回的文件必须以 prefix 作为前缀。
maxKeys 限定此次列举文件的最大个数。默认值为 100,最大值为 1000。
marker 列举指定 marker 之后的文件。

有关可选参数的更多信息,请参见GetBucket (ListObjects)