开发者社区> 问答> 正文

对象存储 OSS下载文件到本地文件

已解决

展开
收起
2018-02-15 17:55:46 2697 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

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

    通过oss_get_object_to_file接口,可以实现将文件下载到指定文件:

    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 *params;
    6. aos_table_t *resp_headers;
    7. char *bucket_name = "<您的bucket名字>";
    8. char *object_name = "<您的object名字>";
    9. char *filepath = "<本地文件路径>";
    10. aos_string_t bucket;
    11. aos_string_t object;
    12. aos_string_t file;
    13. aos_pool_create(&p, NULL);
    14. /* 创建并初始化options */
    15. options = oss_request_options_create(p);
    16. init_options(options);
    17. /* 初始化参数 */
    18. aos_str_set(&bucket, bucket_name);
    19. aos_str_set(&object, object_name);
    20. aos_str_set(&file, filepath);
    21. headers = aos_table_make(p, 0);
    22. params = aos_table_make(p, 0);
    23. /* 下载文件 */
    24. s = oss_get_object_to_file(options, &bucket, &object, &file, headers, params, &resp_headers);
    25. if (aos_status_is_ok(s)) {
    26. printf("get object succeeded\n");
    27. } else {
    28. printf("get object failed\n");
    29. }
    30. aos_pool_destroy(p);

    注:

    • 2.0.0相对于1.0.0版本,oss_get_object_to_file接口增加了params参数,同时headerss和params允许为NULL,1.0.0及其之前版本不支持为NULL。
    • 如果本地有同名文件 filepath,本地文件将会被覆盖;
    • 完整代码参考:GitHub
    2018-02-16 09:45:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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