Qt5使用阿里雲OSS C++ SDK上傳、下載、刪除、列舉文件

一、安裝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文件:

在這裏插入圖片描述
在這裏插入圖片描述

運行後在OSS控制檯可以查看到上傳的文件:

在這裏插入圖片描述

四、其他API使用

其他 API 使用大同小異,照着官方文檔一步步配置就可以完成。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章