代码拉取完成,页面将自动刷新
#include "oss.h"
#include <iostream>
#include <alibabacloud/oss/OssClient.h>
using std::cout;
using std::endl;
using namespace AlibabaCloud::OSS;
OssUploader::OssUploader(const OssInfo & info)
: _ossinfo(info)
, _conf()
, _ossclient(_ossinfo.endpoint, _ossinfo.accessKeyId, _ossinfo.accessKeySecret, _conf)
{
InitializeSdk();
}
void OssUploader::doUpload(const string & key, const string & filename)
{
/* ClientConfiguration conf; */
/* OssClient client(_ossinfo.endpoint, _ossinfo.accessKeyId, _ossinfo.accessKeySecret, conf); */
auto outcome = _ossclient.PutObject(_ossinfo.bucketname, key, filename);
if(!outcome.isSuccess()) {
cout << outcome.error().Code()
<< ", " << outcome.error().Message()
<< ", " << outcome.error().RequestId() << endl;
} else {
cout << "upload file " << filename << " sucess!" << endl;
}
}
OssUploader::~OssUploader()
{
ShutdownSdk();
}
string OssUploader::genreateDownloadUrl(const string & key)
{
/* ClientConfiguration conf; */
/* OssClient client(_ossinfo.endpoint, _ossinfo.accessKeyId, _ossinfo.accessKeySecret, conf); */
time_t t = time(nullptr) + 1200;
auto outcome = _ossclient.GeneratePresignedUrl(_ossinfo.bucketname, key, t, Http::Get);
if(!outcome.isSuccess()) {
cout << outcome.error().Code()
<< ", " << outcome.error().Message()
<< ", " << outcome.error().RequestId() << endl;
return string();
}
return outcome.result();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。