一、安装OSS C++ SDK
具体操作参照阿里云官方文档: 安装 OSS C++ SDK
注意点:
1.cmake 32位或者64位 VS2017里面生成解决方案的位数也要跟cmake的一样 否则报错
2.VS2017需要以管理员身份运行
二、导库(以64位为例)
1.新建一个项目 - TestOSSDemo,右键“属性”,选择“C/C++”->“常规”,在附加包含目录处添加安装后的头文件所在路径:
D:\aliyun-oss-cpp-sdk-master\sdk\src
D:\aliyun-oss-cpp-sdk-master\sdk\include
D:\aliyun-oss-cpp-sdk-master\third_party\include
2.选择“链接器”->“常规”,在附加库目录处添加 .lib 文件所在路径:
D:\aliyun-oss-cpp-sdk-master\build\lib\Debug
D:\aliyun-oss-cpp-sdk-master\third_party\lib\x64
3.选择“连接器”->“输入”,在附加依赖项处添加 .lib 文件(alibabacloud-oss-cpp-sdk.lib、libcurl.lib、libeay32.lib、ssleay32.lib):
三、TestOSSDemo上传文件代码
// OSSTestDemo.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <alibabacloud/oss/OssClient.h>
using namespace AlibabaCloud::OSS;
int main()
{
/* 初始化OSS账号信息 */
/* 如何获取AccessKeyId和AccessKeySecret:
https://help.aliyun.com/knowledge_detail/48699.html
*/
std::string AccessKeyId = "YourAccessKeyId";
std::string AccessKeySecret = "YourAccessKeySecret";
/* 根据文档填写所需Endpoint:
https://help.aliyun.com/document_detail/31837.html?spm=a2c4g.11186623.6.586.48977f5ev3c5Ht
*/
std::string Endpoint = "oss-cn-shenzhen.aliyuncs.com";
/* 填写你的存储空间名/
std::string BucketName = "YourBucketName";
/* yourObjectName表示上传文件到OSS时需要指定包含文件后缀在内的完整路径,下面为image文件夹下的bkg1.png文件 */
std::string ObjectName = "image/bkg1.png";
/* 初始化网络等资源 */
InitializeSdk();
ClientConfiguration conf;
OssClient client(Endpoint, AccessKeyId, AccessKeySecret, conf);
/* 上传文件 */
/* yourLocalFilename由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt */
auto outcome = client.PutObject(BucketName, ObjectName, "D:/bkg1.png");
if (!outcome.isSuccess()) {
/* 异常处理 */
std::cout << "PutObject fail" <<
",code:" << outcome.error().Code() <<
",message:" << outcome.error().Message() <<
",requestId:" << outcome.error().RequestId() << std::endl;
ShutdownSdk();
return -1;
}
/* 释放网络等资源 */
ShutdownSdk();
return 0;
}
注意点:TestOSSDemo运行目录下需要放D:\aliyun-oss-cpp-sdk-master\third_party\lib\x64路径下的四个DLL文件
以64位为例
TestOSSDemo\x64\Debug目录下放以下四个dll文件: