huaweiObs

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

init putData putFile downloadObject deleteObject deletesObject copyObject

概述

huaweiObs 模块封装了华为云对象存储服务obs。华为云注册

对象存储服务(Object Storage Service,OBS)提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据。适合企业备份/归档、视频点播、视频监控等多种数据存储场景。

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

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

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

3.必须注册华为云账号,并开通OBS服务。

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

  • 名称:huaweiObs
  • 参数:ak、sk、endPoint
  • 配置示例:
  1. <feature name="huaweiObs">
  2. <param name="ak" value="NKCKXQGFIIMPV9*****" />
  3. <param name="sk" value="ZWKMdDWD0vHyRIDI7C5l71AoX8ruiiy1lh3****" />
  4. <param name="endPoint" value="https://obs.cn-south-1.myhwclouds.com" />
  5. </feature>

模块接口

init

服务初始化

init()

示例代码

  1. var obs = api.require('huaweiObs');
  2. obs.init();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

putData

流式上传对象

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

params

bucket:

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

objectKey:

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

uploadType:

  • 类型:数字
  • 描述:上传的类型
  • 取值范围:
    • 1:上传字符串
    • 2:上传网络流
    • 3:上传文件流,推荐使用文件上传的形式上传本地文件,而不是文件流形式。

uploadFile:

  • 类型:字符串
  • 描述:上传对象,uploadType为1时传入字符串,uploadType为2时传入网络地址,uploadType为3时需上传本地文件路径,要求本地路径(fs://、widget://)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'onComplete', //字符串类型;事件类型
  3. //取值范围:
  4. //onComplete(成功)
  5. //onProgress(进度)
  6. //onError(失败)
  7. currentSize: '', //字符串类型;已上传文件大小,仅onProgress有值
  8. totalSize: '', //字符串类型;文件总大小,仅onProgress有值,android返回-1
  9. etag: '', //字符串类型;对象etag值,仅onComplete有值
  10. requestID: '', //字符串类型;对象标识,仅onComplete有值
  11. }

示例代码

  1. var obs = api.require('huaweiObs');
  2. obs.putData({
  3. bucket: "module-wkz",
  4. objectKey: "test/img1",
  5. uploadType: 3,
  6. uploadFile: "widget://image/test.jpg"
  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及更高版本

putFile

上传文件

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

params

bucket:

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

objectKey:

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

uploadFile:

  • 类型:字符串
  • 描述:上传对象,需上传本地文件路径,要求本地路径(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值,仅onComplete有值
  10. requestID: '', //字符串类型;对象标识,仅onComplete有值
  11. }

示例代码

  1. var obs = api.require('huaweiObs');
  2. obs.putFile({
  3. bucket: "module-wkz",
  4. objectKey: "test/img2",
  5. uploadFile: "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

downloadFile:

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

    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 obs = api.require('huaweiObs');
  2. obs.downloadObject({
  3. bucket: "module-wkz",
  4. objectKey: "test/img1",
  5. downloadFile: "test"
  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及更高版本

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 obs = api.require('huaweiObs');
  2. obs.deleteObject({
  3. objectKey: "test/img1"
  4. }, function(ret, err){
  5. if( ret ){
  6. alert( JSON.stringify( ret ) );
  7. }else{
  8. alert( JSON.stringify( err ) );
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deletesObject

多文件删除

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

params

bucket:

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

objectKeys:

  • 类型:数组
  • 描述:数组内部为文件在华为云上的命名

callback(ret, err)

ret:

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

示例代码

  1. var obs = api.require('huaweiObs');
  2. obs.deletesObject({
  3. objectKeys: ["test/img1", "test/img2"]
  4. }, function(ret, err){
  5. if( ret ){
  6. alert( JSON.stringify( ret ) );
  7. }else{
  8. alert( JSON.stringify( err ) );
  9. }
  10. });

可用性

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 obs = api.require('huaweiObs');
  2. obs.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及更高版本