上传视频到阿里云OSS

采用STS验证方式,其他自签名不做介绍了。

导入框架什么的也不说了,阿里云文档都有。(注意点:framework是要终端命令生成的,下载的demo里是没有的)

NSString *endpoint = @"http://oss-cn-shanghai.aliyuncs.com(区域地址,控制台有)";

    id 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方式验证。

成功的方法千千万,按实际情况去解决,希望对你有所帮助。

你可能感兴趣的:(上传视频到阿里云OSS)