查看对象列表即列出您在Bucket中上传的文件(Object),您可以通过OSS的接口调用一次性得到某一Bucket下最多1000个的Object列表。通过下面的四个参数,您可以完成多种拓展功能:
文件夹模拟功能
OSS服务是没有文件夹这个概念的,所有元素都是以Object来存储。创建模拟文件夹本质上来说是创建了一个size为0的Object。对于这个Object照样可以上传下载,只是控制台会对以“/”结尾的Object以文件夹的方式展示。所以您可以使用上述方式来实现创建模拟文件夹。
您可以通过 Delimiter 和 Prefix 参数的配合模拟出文件夹功能。Delimiter 和 Prefix 的组合效果是这样的:
- 如果把 Prefix 设为某个文件夹名,就可以罗列以此 Prefix 开头的文件,即该文件夹下递归的所有的文件和子文件夹(目录)。文件名在Contents中显示。
- 如果再把 Delimiter 设置为 “/” 时,返回值就只罗列该文件夹下的文件和子文件夹(目录),该文件夹下的子文件名(目录)返回在 CommonPrefixes 部分,子文件夹下递归的文件和文件夹不被显示。
- [backcolor=transparent]举个例子:
- [backcolor=transparent]假如在[backcolor=transparent]OSS[backcolor=transparent]的[backcolor=transparent]Bucket[backcolor=transparent]:[backcolor=transparent]oss[backcolor=transparent]-[backcolor=transparent]sample[backcolor=transparent]下有如下[backcolor=transparent]Object[backcolor=transparent]:
- [backcolor=transparent]文件[backcolor=transparent]D
- [backcolor=transparent]目录[backcolor=transparent]A[backcolor=transparent]/文件[backcolor=transparent]C
- [backcolor=transparent]目录[backcolor=transparent]A[backcolor=transparent]/文件[backcolor=transparent]D
- [backcolor=transparent]目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]B[backcolor=transparent]/文件[backcolor=transparent]B
- [backcolor=transparent]目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]B[backcolor=transparent]/目录[backcolor=transparent]C[backcolor=transparent]/文件[backcolor=transparent]A
- [backcolor=transparent]目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]C[backcolor=transparent]/文件[backcolor=transparent]A
- [backcolor=transparent]目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]D[backcolor=transparent]/文件[backcolor=transparent]B
- [backcolor=transparent]目录[backcolor=transparent]B[backcolor=transparent]/文件[backcolor=transparent]A
- [backcolor=transparent]1.[backcolor=transparent] [backcolor=transparent]列出第一层目录和文件
- [backcolor=transparent]根据[backcolor=transparent]API[backcolor=transparent]中请求约定,需要设置[backcolor=transparent]Prefix[backcolor=transparent]为“”,[backcolor=transparent]Delimiter[backcolor=transparent]为[backcolor=transparent]"/"[backcolor=transparent]:
- [backcolor=transparent]返回结果如下:
- [backcolor=transparent]<?[backcolor=transparent]xml version[backcolor=transparent]=[backcolor=transparent]"1.0"[backcolor=transparent] encoding[backcolor=transparent]=[backcolor=transparent]"UTF-8"[backcolor=transparent]?>
- [backcolor=transparent]<[backcolor=transparent]ListBucketResult[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Name[backcolor=transparent]>[backcolor=transparent]oss[backcolor=transparent]-[backcolor=transparent]sample[backcolor=transparent]</[backcolor=transparent]Name[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Prefix[backcolor=transparent]></[backcolor=transparent]Prefix[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Marker[backcolor=transparent]></[backcolor=transparent]Marker[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]MaxKeys[backcolor=transparent]>[backcolor=transparent]1000[backcolor=transparent]</[backcolor=transparent]MaxKeys[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Delimiter[backcolor=transparent]>[backcolor=transparent]/</[backcolor=transparent]Delimiter[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]IsTruncated[backcolor=transparent]>[backcolor=transparent]false[backcolor=transparent]</[backcolor=transparent]IsTruncated[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Contents[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Key[backcolor=transparent]>文件[backcolor=transparent]D[backcolor=transparent]</[backcolor=transparent]Key[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]LastModified[backcolor=transparent]>[backcolor=transparent]2015[backcolor=transparent]-[backcolor=transparent]11[backcolor=transparent]-[backcolor=transparent]06T10[backcolor=transparent]:[backcolor=transparent]07[backcolor=transparent]:[backcolor=transparent]11.000Z[backcolor=transparent]</[backcolor=transparent]LastModified[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]ETag[backcolor=transparent]>[backcolor=transparent]"8110930DA5E04B1ED5D84D6CC4DC9080"[backcolor=transparent]</[backcolor=transparent]ETag[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Type[backcolor=transparent]>[backcolor=transparent]Normal[backcolor=transparent]</[backcolor=transparent]Type[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Size[backcolor=transparent]>[backcolor=transparent]3340[backcolor=transparent]</[backcolor=transparent]Size[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]StorageClass[backcolor=transparent]>[backcolor=transparent]Standard[backcolor=transparent]</[backcolor=transparent]StorageClass[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Owner[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]ID[backcolor=transparent]>[backcolor=transparent]oss[backcolor=transparent]</[backcolor=transparent]ID[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]DisplayName[backcolor=transparent]>[backcolor=transparent]oss[backcolor=transparent]</[backcolor=transparent]DisplayName[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]Owner[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]Contents[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Prefix[backcolor=transparent]>目录[backcolor=transparent]A[backcolor=transparent]/</[backcolor=transparent]Prefix[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Prefix[backcolor=transparent]>目录[backcolor=transparent]B[backcolor=transparent]/</[backcolor=transparent]Prefix[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent]</[backcolor=transparent]ListBucketResult[backcolor=transparent]>
- [backcolor=transparent]可以看到:
- [backcolor=transparent]Contents[backcolor=transparent]返回的是第一层的文件:“文件[backcolor=transparent]D[backcolor=transparent]”。
- [backcolor=transparent]CommonPrefixes[backcolor=transparent]返回的是第一层的目录:“目录[backcolor=transparent]A[backcolor=transparent]/”[backcolor=transparent] [backcolor=transparent]和[backcolor=transparent] [backcolor=transparent]“目录[backcolor=transparent]B[backcolor=transparent]/”,而“目录[backcolor=transparent]A[backcolor=transparent]/”[backcolor=transparent] [backcolor=transparent]和[backcolor=transparent] [backcolor=transparent]“目录[backcolor=transparent]B[backcolor=transparent]/”下的文件名不显示。
- [backcolor=transparent]2.[backcolor=transparent] [backcolor=transparent]列出第二层目录[backcolor=transparent]A[backcolor=transparent]底下的目录和文件
- [backcolor=transparent]根据[backcolor=transparent]API[backcolor=transparent]中请求约定,需要设置[backcolor=transparent]Prefix[backcolor=transparent]为“目录[backcolor=transparent]A[backcolor=transparent]”,[backcolor=transparent]Delimiter[backcolor=transparent]为[backcolor=transparent]"/"[backcolor=transparent]:
- [backcolor=transparent]返回结果如下:
- [backcolor=transparent]<?[backcolor=transparent]xml version[backcolor=transparent]=[backcolor=transparent]"1.0"[backcolor=transparent] encoding[backcolor=transparent]=[backcolor=transparent]"UTF-8"[backcolor=transparent]?>
- [backcolor=transparent]<[backcolor=transparent]ListBucketResult[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Name[backcolor=transparent]>[backcolor=transparent]oss[backcolor=transparent]-[backcolor=transparent]sample[backcolor=transparent]</[backcolor=transparent]Name[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Prefix[backcolor=transparent]>目录[backcolor=transparent]A[backcolor=transparent]/</[backcolor=transparent]Prefix[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Marker[backcolor=transparent]></[backcolor=transparent]Marker[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]MaxKeys[backcolor=transparent]>[backcolor=transparent]1000[backcolor=transparent]</[backcolor=transparent]MaxKeys[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Delimiter[backcolor=transparent]>[backcolor=transparent]/</[backcolor=transparent]Delimiter[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]IsTruncated[backcolor=transparent]>[backcolor=transparent]false[backcolor=transparent]</[backcolor=transparent]IsTruncated[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Contents[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Key[backcolor=transparent]>目录[backcolor=transparent]A[backcolor=transparent]/文件[backcolor=transparent]C[backcolor=transparent]</[backcolor=transparent]Key[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]LastModified[backcolor=transparent]>[backcolor=transparent]2015[backcolor=transparent]-[backcolor=transparent]11[backcolor=transparent]-[backcolor=transparent]06T09[backcolor=transparent]:[backcolor=transparent]36[backcolor=transparent]:[backcolor=transparent]00.000Z[backcolor=transparent]</[backcolor=transparent]LastModified[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]ETag[backcolor=transparent]>[backcolor=transparent]"B026324C6904B2A9CB4B88D6D61C81D1"[backcolor=transparent]</[backcolor=transparent]ETag[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Type[backcolor=transparent]>[backcolor=transparent]Normal[backcolor=transparent]</[backcolor=transparent]Type[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Size[backcolor=transparent]>[backcolor=transparent]2[backcolor=transparent]</[backcolor=transparent]Size[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]StorageClass[backcolor=transparent]>[backcolor=transparent]Standard[backcolor=transparent]</[backcolor=transparent]StorageClass[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Owner[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]ID[backcolor=transparent]>[backcolor=transparent]oss[backcolor=transparent]</[backcolor=transparent]ID[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]DisplayName[backcolor=transparent]>[backcolor=transparent]oss[backcolor=transparent]</[backcolor=transparent]DisplayName[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]Owner[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]Contents[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Contents[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Key[backcolor=transparent]>目录[backcolor=transparent]A[backcolor=transparent]/文件[backcolor=transparent]D[backcolor=transparent]</[backcolor=transparent]Key[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]LastModified[backcolor=transparent]>[backcolor=transparent]2015[backcolor=transparent]-[backcolor=transparent]11[backcolor=transparent]-[backcolor=transparent]06T09[backcolor=transparent]:[backcolor=transparent]36[backcolor=transparent]:[backcolor=transparent]00.000Z[backcolor=transparent]</[backcolor=transparent]LastModified[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]ETag[backcolor=transparent]>[backcolor=transparent]"B026324C6904B2A9CB4B88D6D61C81D1"[backcolor=transparent]</[backcolor=transparent]ETag[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Type[backcolor=transparent]>[backcolor=transparent]Normal[backcolor=transparent]</[backcolor=transparent]Type[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Size[backcolor=transparent]>[backcolor=transparent]2[backcolor=transparent]</[backcolor=transparent]Size[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]StorageClass[backcolor=transparent]>[backcolor=transparent]Standard[backcolor=transparent]</[backcolor=transparent]StorageClass[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Owner[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]ID[backcolor=transparent]>[backcolor=transparent]oss[backcolor=transparent]</[backcolor=transparent]ID[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]DisplayName[backcolor=transparent]>[backcolor=transparent]oss[backcolor=transparent]</[backcolor=transparent]DisplayName[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]Owner[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]Contents[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Prefix[backcolor=transparent]>目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]B[backcolor=transparent]/</[backcolor=transparent]Prefix[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Prefix[backcolor=transparent]>目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]C[backcolor=transparent]/</[backcolor=transparent]Prefix[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]<[backcolor=transparent]Prefix[backcolor=transparent]>目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]D[backcolor=transparent]/</[backcolor=transparent]Prefix[backcolor=transparent]>
- [backcolor=transparent] [backcolor=transparent]</[backcolor=transparent]CommonPrefixes[backcolor=transparent]>
- [backcolor=transparent]</[backcolor=transparent]ListBucketResult[backcolor=transparent]>
- [backcolor=transparent]可以看到:
- [backcolor=transparent]Contents[backcolor=transparent]返回的是第二层的文件:“目录[backcolor=transparent]A[backcolor=transparent]/文件[backcolor=transparent]C[backcolor=transparent]”,“目录[backcolor=transparent]A[backcolor=transparent]/文件[backcolor=transparent]D[backcolor=transparent]”。
- [backcolor=transparent]CommonPrefixes[backcolor=transparent]返回的是第一层的目录:“目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]B[backcolor=transparent]/”,“目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]C[backcolor=transparent]/”和“目录[backcolor=transparent]A[backcolor=transparent]/目录[backcolor=transparent]D[backcolor=transparent]/”。而目录下的文件名不会被显示。
功能使用参考