采用STS验证方式,其他自签名不做介绍了。
导入框架什么的也不说了,阿里云文档都有。(注意点:framework是要终端命令生成的,下载的demo里是没有的)
NSString *endpoint = @"http://oss-cn-shanghai.aliyuncs.com(区域地址,控制台有)";
id<OSSCredentialProvider> credential = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:@“后台配置好STS后给的请求地址”];
client= [[OSSClientalloc]initWithEndpoint:endpointcredentialProvider:credential];
NSData *data=[NSData dataWithContentsOfURL:@“本地视频路径”];
OSSPutObjectRequest * put = [OSSPutObjectRequest new];
put.bucketName = @“定义好的bucketName”;
put.objectKey =@“自定义文件名,取的时候作为key”;
ossUrl=put.objectKey;
put.uploadingData= data;// 直接上传NSData
put.uploadProgress= ^(int64_tbytesSent,int64_ttotalByteSent,int64_ttotalBytesExpectedToSend) {
// NSLog(@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend);
};
OSSTask* putTask = [clientputObject:put];
[putTaskcontinueWithBlock:^id(OSSTask*task) {
if(!task.error) {
// OSSGetObjectResult * result = task.result;
NSLog(@"成功");
}else{
NSLog(@"upload object failed, error: %@" , task.error);
}
returnnil;
}];
截图
心路历程:
开始采用无token方式,但是一直失败。提交了工单与阿里询问了下,为了安全还是建议采用STS方式验证。
成功的方法千千万,按实际情况去解决,希望对你有所帮助。