开发者社区> 问答> 正文

权限是公共读,1上传文件的时候提示 上传文件出错

已解决

展开
收起
2018-05-22 17:12:57 668 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    用户可以设置存储空间的访问权限,允许或者禁止匿名用户对其内容进行读写。

    获取存储空间的访问权限(ACL)

    通过oss_get_bucket_acl接口,可以实现查看存储空间的ACL:

    aos_pool_t *p;
    oss_request_options_t *options;
    char *bucket_name = "<您的bucket名字>";
    aos_string_t bucket;
    aos_table_t *resp_headers;
    aos_status_t *s;
    char *oss_acl;
    
    aos_pool_create(&p, NULL);
    
    /* 创建并初始化options */
    options = oss_request_options_create(p);
    init_options(options);
    
    /* 初始化参数 */
    aos_str_set(&bucket, bucket_name);
    
    /* 获取存储空间访问权限 */
    s = oss_get_bucket_acl(options, &bucket,& oss_acl, &resp_headers);
    if (aos_status_is_ok(s)) {
        printf("get bucket acl succeeded\n");
    } else {
        printf("get bucket acl failed\n");
    }
    
    aos_pool_destroy(p);
    

    设置存储空间的访问权限(ACL)

    通过oss_create_bucket接口,可以实现设置存储空间的ACL:

    aos_pool_t *p;
    oss_request_options_t *options;
    oss_acl_e oss_acl = OSS_ACL_PRIVATE;
    char *bucket_name = "<您的bucket名字>";
    aos_string_t bucket;
    aos_table_t *resp_headers;
    aos_status_t *s;
    
    aos_pool_create(&p, NULL);
    
    /* 创建并初始化options */
    options = oss_request_options_create(p);
    init_options(options);
    
    /* 初始化参数 */
    aos_str_set(&bucket, bucket_name);
    
    /* 设置存储空间访问权限 */
    s = oss_put_bucket_acl(options, &bucket, oss_acl, &resp_headers);
    if (aos_status_is_ok(s)) {
        printf("put bucket acl succeeded\n");
    } else {
        printf("put bucket acl failed\n");
    }
    
    aos_pool_destroy(p);
    

    注:

    • 操作者必须是Bucket的拥有者,否则不允许设置该存储空间的访问权限。
    • 存储空间的访问权限oss_acl_e是一个枚举值,可选值包括:OSS_ACL_PRIVATE、OSS_ACL_PUBLIC_READ、OSS_ACL_PUBLIC_READ_WRITE
    2018-05-25 00:04:56
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载