最近更新时间:2024-12-05 18:44:59
以下代码用于上传文件:
#include <cstdio>
#include "ks3.h"
#include <iostream>
using namespace ks3;
int main() {
std::string host = "ks3-cn-beijing.ksyuncs.com";
// 准备client上下文信息
// 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
// 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
std::string ak = "yourAccessKey"; // 填写实际的AccessKey
std::string sk = "yourSecretKey"; // 填写实际的SecretKey
// 填写要上传到的桶名
std::string bucket = "yourBucketName";
// 填写要上传到的对象名
std::string object_key = "yourKeyName";
// 准备需要上传的内容和长度
std::string content = "some content";
const char* buf = content.c_str();
int size = static_cast<int>(content.size() + 1);
// 初始化网络资源
sdk::KS3Client::InitGlobalCurl();
// 初始化client
sdk::KS3Client client(host);
client.Init();
sdk::ClientContext ctx;
ctx.bucket = bucket;
ctx.object_key = object_key;
ctx.accesskey = ak;
ctx.secretkey = sk;
// 通过请求头设置文件acl
ctx.headers.insert(std::make_pair("x-kss-acl", "public-read"));
sdk::KS3Response response;
int code = client.UploadObject(ctx, buf, size, &response);
if (code != 0) {
std::cout << "failed to call curl with error code " << code << std::endl;
return -1;
}
std::cout << response.status_code << std::endl;
std::cout << response.headers_buffer << std::endl;
sdk::KS3Client::DestroyGlobalCurl();
return 0;
}
纯净模式