通过iOS的SDK上传图片时把key设置为路径的格式,如@“
/2015/06/09/0”会报错:
"The request signature we calculated does not match the signature you provided. Check your key and signing method."
应该是我的签名写的不匹配,请问我应该怎么样设置签名?现在初始化代码是这样的:
id<ALBBOSSServiceProtocol> ossService = [ALBBOSSServiceProvider getService];
NSString *accessKey = @"xxx"; // 实际使用中,AK/SK不应明文保存在代码中
NSString *secretKey = @"xxx"
[ossService setGenerateToken:^(NSString *method, NSString *md5, NSString *type, NSString *date, NSString *xoss, NSString *resource) {
NSString *signature = nil;
NSString *content = [NSString stringWithFormat:@"%@\n%@\n%@\n%@\n%@%@", method, md5, type, date, xoss, resource];
signature = [OSSTool calBase64Sha1WithData:content withKey:secretKey];
signature = [NSString stringWithFormat:@"OSS %@:%@", accessKey, signature];
NSLog(@"signature:%@", signature);
return signature;
}];
[ossService setGlobalDefaultBucketAcl:PRIVATE];
[ossService setGlobalDefaultBucketHostId:@"oss-cn-beijing.aliyuncs.com"];
OSSBucket *ossBucket = [ossService getBucket:@"baobanimg"];
[ossBucket setAcl:PUBLIC_READ]; // 指明该Bucket的访问权限
[ossBucket setOssHostId:@"oss-cn-beijing.aliyuncs.com"]; // 指明该Bucket所在数据中心的域名或已经绑定Bucket的Cname域名
[ossBucket setGenerateToken:nil]; // 指明该Bucket访问时应该采用的加签方法,若不指明则从OSSClient的全局默认设置继承;如果Bucket访问权限为Public,那么可以为null
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。