你的位置:首页 > 软件开发 > 操作系统 > iOS使用阿里云OSS对象存储 (SDK 2.1.1)

iOS使用阿里云OSS对象存储 (SDK 2.1.1)

发布时间:2015-11-28 17:00:09
最近项目中用到了阿里云OSS对象存储,用来存储APP中图片、音频等一些数据。但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所调用的方法差别较大(自我感觉),当然原理都一样。所以看了两天SDK,自己封装了几 ...

  最近项目中用到了阿里云OSS对象存储,用来存储APP中图片、音频等一些数据。但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所调用的方法差别较大(自我感觉),当然原理都一样。所以看了两天SDK,自己封装了几个常用的方法。

一、OSS简单介绍

  OSS是提供非结构化数据存取的服务,非结构化数据一般包括图片、文档、音频、视频等一些文件。OSS提供了接口,开发者可以通过这些接口对数据进行上传或下载等操作。

  开通OSS服务后,创建一个bucket(数据容器,可以创建多个bucket,但是每个bucket名字唯一),在bucket属性里面可以设置bucket读写属性。然后所有的object(文件)都存储在bucket里面。

  bucket:

               iOS使用阿里云OSS对象存储 (SDK 2.1.1)

  bucket控制台:

                iOS使用阿里云OSS对象存储 (SDK 2.1.1)

二、OSS SDK1.0与SDK2.0方法调用区别

  (1)SDK1.0方法调用形式

    在SDK1.0中,主要通过OSSService-Bucket方式进行操作。首先获取service,设置service的数据中心域名和加签等。然后创建bucket,设置bucket属性。通过service调用一系列方法,并把bucket传入方法中,获取返回结果。实例代码:

 1 - (void)upLoadObjectWithKey:(NSString *)key object:(NSData *)object type:(NSString *)type{ 2   OSSData *ossData;    //存取请求结果 3   id<ALBBOSSServiceProtocol> ossService = [ALBBOSSServiceProvider getService];    //获取service 4   [ossService setGlobalDefaultBucketAcl:PRIVATE];   //访问属性为私有 5   [ossService setGlobalDefaultBucketHostId:@"<yourHostId>"];   //设置你的域名 6    7   //加签 8   [ossService setGenerateToken:^(NSString *method, NSString *md5, NSString *type, NSString *date, NSString *xoss, NSString *resource){ 9     10     NSString *content = [NSString stringWithFormat:@"%@\n%@\n%@\n%@\n%@%@", method, md5, type, date, xoss, resource];11     NSString *signature = [OSSTool calBase64Sha1WithData:content withKey:@"<secretKey>"];    //填入你的secretKey12     return [NSString stringWithFormat:@"OSS %@:%@", @"<accessKey>", signature];   //填入你的accessKey13   }];14   15   ossData = [ossService getOSSDataWithBucket:[ossService getBucket:@"yourBucketName"] key:key];16   [ossData setData:uploadData withType:type];    //设置上传文件类型17   [ossData enableUploadCheckMd5sum:YES];18 }

原标题:iOS使用阿里云OSS对象存储 (SDK 2.1.1)

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。