开发者社区> 问答> 正文

对象存储 OSS4. 上传文件

已解决

展开
收起
2018-03-16 03:59:27 709 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

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

    文件是OSS中最基本的数据单元,用下面代码可以实现一个文件的上传:

    1. aos_pool_t *p;
    2. oss_request_options_t *options;
    3. aos_status_t *s;
    4. aos_table_t *headers;
    5. aos_table_t *resp_headers;
    6. char *bucket_name = "<您的bucket名字>";
    7. char *object_name = "<您的object名字>";
    8. aos_string_t bucket;
    9. aos_string_t object;
    10. char *data = "object content";
    11. aos_list_t buffer;
    12. aos_buf_t *content;
    13. aos_pool_create(&p, NULL);
    14. /* 创建并初始化options */
    15. options = oss_request_options_create(p);
    16. init_options(options);
    17. /* 初始化参数 */
    18. aos_str_set(&object, object_name);
    19. aos_str_set(&bucket, bucket_name);
    20. headers = aos_table_make(p, 0);
    21. /* 将char*类型的数据转换为oss_put_object_from_buffer接口需要的aos_list_t类型的 */
    22. aos_list_init(&buffer);
    23. content = aos_buf_pack(options->pool, data, strlen(data));
    24. aos_list_add_tail(&content->node, &buffer);
    25. /* 上传文件 */
    26. s = oss_put_object_from_buffer(options, &bucket, &object, &buffer, headers, &resp_headers);
    27. /* 判断请求是否成功 */
    28. if (aos_status_is_ok(s)) {
    29. printf("put file succeeded\n");
    30. } else {
    31. printf("put file failed\n");
    32. }
    33. /* 释放资源 */
    34. aos_pool_destroy(p);

    注:

    • 关于上传文件更详细的信息,参见上传文件
    2018-03-21 10:43:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载