版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
详细解答可以参考官方帮助文档
当您完成一系列上传后,可能需要查看某个存储空间中有哪些文件,可以通过下面的程序实现:
aos_pool_t *p;
oss_request_options_t *options;
aos_status_t *s;
aos_table_t *resp_headers;
char *bucket_name = "<您的bucket名字>";
aos_string_t bucket;
oss_list_object_params_t *params;
oss_list_object_content_t *content;
int max_ret = 1000;
char *key;
aos_pool_create(&p, NULL);
/* 创建并初始化options */
options = oss_request_options_create(p);
init_options(options);
/* 初始化参数 */
aos_str_set(&bucket, bucket_name);
params = oss_create_list_object_params(p);
params->max_ret = max_ret;
aos_str_set(¶ms->prefix, "<prefix>");
aos_str_set(¶ms->delimiter, "<delimiter>");
aos_str_set(¶ms->marker, "<marker>");
s = oss_list_object(options, &bucket, params, &resp_headers);
/* 判断请求是否成功 */
if (aos_status_is_ok(s)) {
printf("list file succeeded\n");
} else {
printf("list file failed\n");
}
/* 获取每个文件的名称 */
aos_list_for_each_entry(content, ¶ms->object_list, node) {
key = apr_psprintf(p, "%.*s", content->key.len, content->key.data);
}
/* 释放资源 */
aos_pool_destroy(p);
注:
- 更多灵活的参数配置,可以参考管理文件