本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;
}