缓存上传

本SDK提供UFilePut类用于上传操作,大文件(1G以上)请使用分片上传,完整代码详见 Github

成员函数UFilePut::Put调用的 US3 API 为PutFile, 具体参见PutFile API 文档

方法原型

1
int Put(const std::string &bucket, const std::string &key, const char *ptr, const size_t size);

参数说明

  • bucket: 文件上传后所在的存储空间
  • key: 文件上传后在存储空间里的名称
  • ptr: 待上传的缓存数据
  • size: 待上传缓存数据的字节长度

示例

执行该示例前请确保配置文件的正确性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <cstring>
#include <ufile-cppsdk/api.h>

const char* bucket_name = "your bucket name";
const char* key = "your file key";
const char* buffer = "contents to be uploaded";

int main() {
  // 实例化一个UFilePut对象
  ucloud::cppsdk::api::UFilePut uploader;

  // 计算buffer长度
  size_t buffer_len = strlen(buffer) + 1;

  // 调用成员函数Put上传文件
  int ret = uploader.Put(bucket_name, key, buffer, buffer_len);
  if (ret) {
    std::cerr << "putfile error: retcode=" << UFILE_LAST_RETCODE() \
              << ", errmsg=" << UFILE_LAST_ERRMSG() << std::endl;
    return ret;
  }

  std::cout << "put file success" << std::endl;
  return 0;
}