bool UpLoad(std::string BucketName, std::string ObjectName, std::string LocalFilename)
{
ClientConfiguration conf;
OssClient client(Endpoint, AccessKeyId, AccessKeySecret, conf);
/* 判断存储空间是否存在 */
if (client.DoesBucketExist(BucketName)) {
std::cout << " The Bucket exists" << std::endl;
}
else {
std::cout << "The Bucket does not exist" << std::endl;
return false;
}
std::shared_ptr<std::iostream> content = std::make_shared<std::fstream>(LocalFilename, std::ios::in/* | std::ios::binary*/);
PutObjectRequest request(BucketName, ObjectName, content);
/* 设置进度 */
TransferProgress progressCallback = { ProgressCallback, nullptr };
request.setTransferProgress(progressCallback);
/* 上传文件 */
auto outcome = client.PutObject(request);
if (!outcome.isSuccess()) {
/* 异常处理 */
std::cout << "PutObject fail" <<
",code:" << outcome.error().Code() <<
",message:" << outcome.error().Message() <<
",requestId:" << outcome.error().RequestId() << std::endl;
return false;
}
return true;
这是我的代码 调用是这样的,mytest是我的bucket,test1是mytest下的一个目录
UpLoad("mytest", "test1/test.txt", "D:\\test.txt");
报错信息是:
PutObject fail,code:ClientError:200056,message:Failure when receiving data from the peer.Recv failure: Connection was reset,requestId:
后续办法:是不是系统时间除了date -R看到的时区,还有一个硬件的概念,就着手将硬件的时间、时区一并修改。 针对中国时区,修改操作如下 1. 修改文件 /etc/sysconfig/clock内容:
ZONE=Asia/Shanghai UTC=false ARC=false
rm -rf /etc/localtime ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。