aliCloudOss

来自于:厦门软云网络科技有限公司立即使用

init putObject downloadObject deleteObject copyObject

概述

aliCloudOss 模块封装了阿里云对象存储服务oss。

阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。

使用前需了解阿里云对象存储相关内容,可查看阿里云对象存储文档

环境要求

1.ios系统版本:ios8.0及以上, 请注意编译时在编译界面的高级设置里面选择支持的系统版本。

2.Android: 编译时需勾选“使用升级环境编译”。

3.必须注册有Aliyun.com用户账户,并开通OSS服务。。

使用此模块之前先配置 config 文件,配置方法如下:

  • 名称:aliCloudOss
  • 参数:ak、sk、endPoint
  • 配置示例:
  1. <feature name="aliCloudOss">
  2. <param name="ak" value="LTAIu7Pvvj*****" />
  3. <param name="sk" value="JN310ANAuX5iT8zlcEZ1sbz******" />
  4. <param name="endPoint" value="https://oss-cn-shenzhen.aliyuncs.com" />
  5. </feature>
  • 字段描述:

    ak:阿里云账号生成的Access Key ID, 是构建阿里云 API 请求的重要凭证 [API密钥管理]

    sk:阿里云账号生成的Secret Access Key, 是构建阿里云 API 请求的重要凭证 [API密钥管理]

    endPoint:Endpoint 表示 OSS 对外服务的访问域名。OSS 以 HTTP RESTful API 的形式对外提供服务,当访问不同的 Region 的时候,需要不同的域名。通过内网和外网访问同一个 Region 所需要的 Endpoint 也是不同的。例如杭州 Region 的外网 Endpoint 是 oss-cn-hangzhou.aliyuncs.com,内网 Endpoint 是 oss-cn-hangzhou-internal.aliyuncs.com[区域管理],记住要加协议类型(https://),如:https://oss-cn-shenzhen.aliyuncs.com

模块接口

init

初始化sdk (调用优先级最高,只需要调用一次) 如果有输入参数,则使用输入的参数,否则默认从config文件中读取参数。

init({params}, callback(ret, err))

示例代码

  1. var oss = api.require('aliCloudOss');
  2. oss.init();

params

accessKey:

  • 类型:字符串
  • 描述:(可选项)从阿里云获取的accessKeyId

secretKey:

  • 类型:字符串
  • 描述:(可选项)从阿里云获取的accessKeySecret

endpoint:

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'onError', //字符串类型;事件类型
  3. //取值范围:
  4. //onError(失败)
  5. }

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

putObject

上传文件

putObject({params}, callback(ret, err))

params

bucket:

  • 类型:字符串
  • 描述:文件存储桶的名称,如:module-wkz

objectKey:

  • 类型:字符串
  • 描述:文件存储在云上的命名,如:test/test.jpg,云会自动创建test文件夹,以便存储文件

filePath:

  • 类型:字符串
  • 描述:上传对象,需上传本地文件路径,支持fs://、widget://等文件路径协议及真实路径

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'onComplete', //字符串类型;事件类型
  3. //取值范围:
  4. //onComplete(成功)
  5. //onProgress(进度)
  6. //onError(失败)
  7. currentSize: '', //字符串类型;已上传文件大小,仅onProgress有值
  8. totalSize: '', //字符串类型;文件总大小,仅onProgress有值
  9. etag: '', //字符串类型;ETag (entity tag) 在每个Object生成的时候被创建,用于标示一个Object的内容。仅onComplete有值
  10. requestID: '', //字符串类型;x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。如果在使用OSS服务时遇到问题,可以凭借该字段联系OSS工作人员,快速定位问。,仅onComplete有值
  11. }

示例代码

  1. var oss = api.require('aliCloudOss');
  2. oss.putObject({
  3. bucket: "module-wkz",
  4. objectKey: "test/img2",
  5. filePath: "widget://image/test.jpg"
  6. }, function(ret, err){
  7. if( ret ){
  8. alert( JSON.stringify( ret ) );
  9. }else{
  10. alert( JSON.stringify( err ) );
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

downloadObject

下载文件

downloadObject({params}, callback(ret, err))

params

bucket:

  • 类型:字符串
  • 描述:文件存储桶的名称,如:module-wkz

objectKey:

  • 类型:字符串
  • 描述:文件存储在云上的命名,如:test/test.jpg

filePath:

  • 类型:字符串
  • 描述:文件下载后的路径, 如:test.jpg

xOssProcess:

  • 类型:字符串
  • 描述:(可选项)下载图片时对图片进行处理的命令, 如:image/circle,r_100

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'onComplete', //字符串类型;事件类型
  3. //取值范围:
  4. //onComplete(成功)
  5. //onProgress(进度)
  6. //onError(失败)
  7. currentSize: '', //字符串类型;已下载文件大小,仅onProgress有值
  8. totalSize: '', //字符串类型;文件总大小,仅onProgress有值
  9. localPath: '' //字符串类型;文件下载的本地地址,仅onComplete有值
  10. }

示例代码

  1. var oss = api.require('aliCloudOss');
  2. oss.downloadObject({
  3. bucket: "module-wkz",
  4. objectKey: "test/img1",
  5. filePath: "test.jpg",
  6. xOssProcess:'image/circle,r_100'
  7. }, function(ret, err){
  8. if( ret ){
  9. alert( JSON.stringify( ret ) );
  10. }else{
  11. alert( JSON.stringify( err ) );
  12. }
  13. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteObject

删除文件

deleteObject({params}, callback(ret, err))

params

bucket:

  • 类型:字符串
  • 描述:文件存储桶的名称,如:module-wkz

objectKey:

  • 类型:字符串
  • 描述:文件存储在云上的命名,如:test/test.jpg

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'onComplete', //字符串类型;事件类型
  3. //取值范围:
  4. //onComplete(成功)
  5. //onError(失败)
  6. }

示例代码

  1. var oss = api.require('aliCloudOss');
  2. oss.deleteObject({
  3. bucket: "module-wkz",
  4. objectKey: "test/img1"
  5. }, function(ret, err){
  6. if( ret ){
  7. alert( JSON.stringify( ret ) );
  8. }else{
  9. alert( JSON.stringify( err ) );
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

copyObject

复制文件

copyObject({params}, callback(ret, err))

params

srcBucket:

  • 类型:字符串
  • 描述:目标文件存储桶的名称,如:module-wkz

srcObjectKey:

  • 类型:字符串
  • 描述:目标文件存储在云上的命名,如:test/test1.jpg

dstBucket:

  • 类型:字符串
  • 描述:复制文件存储桶的名称,如:module-wkz

dstObjectKey:

  • 类型:字符串
  • 描述:复制文件存储在云上的命名,如:test/test2.jpg

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'onComplete', //字符串类型;事件类型
  3. //取值范围:
  4. //onComplete(成功)
  5. //onError(失败)
  6. }

示例代码

  1. var oss = api.require('aliCloudOss');
  2. oss.copyObject({
  3. srcBucket: "module-wkz",
  4. srcObjectKey: "test/img1",
  5. dstBucket: "module-wkz",
  6. dstObjectKey: "test/img2"
  7. }, function(ret, err){
  8. if( ret ){
  9. alert( JSON.stringify( ret ) );
  10. }else{
  11. alert( JSON.stringify( err ) );
  12. }
  13. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本