直接粘代码
OSSClient *client;
NSString *endpoint = [NSString stringWithFormat:@"http://%@",token.host_name];
//注意在控制台获取域名之后,要在前面加上http://,并去掉bucketName字段。例如从控制台获取域名为“<bucketName>.oss-cn-beijing.aliyuncs.com”,则hostId应为“http://oss-cn-beijing.aliyuncs.com
id<OSSCredentialProvider> credential = [[OSSPlainTextAKSKPairCredentialProvider alloc] initWithPlainTextAccessKey:token.key_id secretKey:token.key_secret];
client = [[OSSClient alloc] initWithEndpoint:endpoint credentialProvider:credential];
//初始化client
OSSPutObjectRequest * put = [OSSPutObjectRequest new];
// 必填字段
put.bucketName = token.host_name;
put.objectKey = @"packagePass";
UIImage *image = [UIImage imageNamed:@"packagePass"];
// put.uploadingFileURL = [NSURL fileURLWithPath:@"<filepath>"];
put.uploadingData = UIImagePNGRepresentation(image); // 直接上传NSData
OSSTask * putTask = [client putObject:put];
[putTask continueWithBlock:^id(OSSTask *task) {
if (!task.error) {
NSLog(@"upload object success!");
} else {
NSLog(@"upload object failed, error: %@" , task.error);
}
return nil;
}];
就简单的上传但报如下错误
报错
upload object failed, error: Error Domain=com.aliyun.oss.serverError Code=-403 "(null)" UserInfo={__name=Error, HostId=vitabeedev.oss-cn-hangzhou.aliyuncs.com, Message=The OSS Access Key Id you provided does not exist in our records., OSSAccessKeyId=STS.sMk9KLTRyRhV7qsQ6hkn, Code=InvalidAccessKeyId, RequestId=56EA1CE305200A833146CABF}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。