一、安装OSS C++ SDK
具体操作参照阿里云官方文档: 安装 OSS C++ SDK
注意点:
1.cmake 32位或者64位 VS2017里面生成解决方案的位数也要跟cmake的一样 否则报错
2.若用VS2017需要以管理员身份运行
二、Qt新建一个mainwindow项目,在.pro文件添加以下代码导库
INCLUDEPATH += E:/aliyun-oss-cpp-sdk-master/sdk/include \
E:/aliyun-oss-cpp-sdk-master/sdk/src \
E:/aliyun-oss-cpp-sdk-master/third_party/include
LIBS += -LE:/aliyun-oss-cpp-sdk-master/third_party/lib/x64 -llibcurl
LIBS += -LE:/aliyun-oss-cpp-sdk-master/third_party/lib/x64 -llibeay32
LIBS += -LE:/aliyun-oss-cpp-sdk-master/third_party/lib/x64 -lssleay32
LIBS += -LE:/aliyun-oss-cpp-sdk-master/build/lib/Debug -lalibabacloud-oss-cpp-sdk
三、mainwindow.cpp上传代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <iostream>
#include <alibabacloud/oss/OssClient.h>
using namespace AlibabaCloud::OSS;
MainWindow::MainWindow(QWidget* parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
/* 初始化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();
}
/* 释放网络等资源 */
ShutdownSdk();
}
MainWindow::~MainWindow()
{
delete ui;
}
注意点:Qt项目运行目录下需要放aliyun-oss-cpp-sdk-master\third_party\lib\x64路径下的四个DLL文件
以64位为例
在E:\qtProjectPath\build-OSS-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\debug目录下放以下四个dll文件: