简单操作——阿里云对象存储OSS

今日份分享——阿里云对象存储OSS
参考阿里云文档链接:https://help.aliyun.com/product/31815.html?spm=a2c4g.750001.3.1.1b847b13OoUaDA

根据项目的需求上传多张图片,语音,视频

上传可以直接上传OSSData,或者通过NSURL上传一个文件
在项目中,我上传的格式是OSSData。

//object是我们自己的服务器返回的内容 ,内容由服务器在阿里云配置的参数返回的
id<OSSCredentialProvider> credential = [[OSSStsTokenCredentialProvider alloc] initWithAccessKeyId:object[@"data"][@"accesskey"] secretKeyId:object[@"data"][@"accesskeysecret"] securityToken:object[@"data"][@"securitytoken"]];
OSSClient *client = [[OSSClient alloc] initWithEndpoint:object[@"data"][@"endpoint"] credentialProvider:credential];
OSSPutObjectRequest * put = [OSSPutObjectRequest new];
put.bucketName = object[@"data"][@"bucketname"];
//imageName 这个参数是由服务器在阿里云配置的文件目录拼接上上传文件的名字(可自定义,确保文件的唯一性)
put.objectKey = imageName;
put.uploadingData = data;

                    OSSTask * putTask = [client putObject:put];
                    [putTask waitUntilFinished]; // 阻塞直到上传完成
                    if (!putTask.error) {
                  //逻辑上的处理  主线程中刷新界面
                    } else {
                      //错误
                    }

上传的核心代码就是上面所述。
注意点:因为是同步上传,很容易阻塞线程,所以我在上传的时候开辟了新的线程操作。
写的不完整,望多交流。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。