tencentCos

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

概述

tencentCos 模块封装了腾讯云对象存储服务COS。[技术支持]

对象存储(Cloud Object Storage,简称:COS)是腾讯云提供的面向非结构化数据,支持 HTTP/HTTPS 协议访问的分布式存储服务,它能容纳海量数据并保证用户对带宽和容量扩充无感知,可以作为大数据计算与分析的数据池。腾讯云 COS 提供网页端管理界面、多种语言的 SDK 以及命令行和图形化工具,并且完全兼容 S3 的 API 接口,方便用户直接使用社区工具和插件,COS 还可以和其他云产品结合,比如利用 CDN 的全球节点提供加速服务,利用数据万象的图片处理能力提供一站式图片解决方案等。

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

环境要求

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

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

3.必须注册腾讯云账号,并开通COS服务。

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

  • 名称:tencentCos
  • 参数:appId、secretId、secretKey、region、bucket
  • 配置示例:
  <feature name="tencentCos">
    <param name="appId" value="1251049911" />
    <param name="secretId" value="AKIDt95Vh2AuYLuH94F7JerXQCuy****" />
    <param name="secretKey" value="yuO5IaGFpFRU7tCIuAjufrf6Hgy****" />
    <param name="region" value="ap-guangzhou" />
    <param name="bucket" value="edu-wkz-1251049911" />
  </feature>
  • 字段描述:

    appId:在腾讯云创建“创建存储桶”名称后面跟随的固定id串,如:edu-wkz-1251049911,其中"1251049911"就是appid值

    secretId:腾讯云账号生成的secretId, 是构建腾讯云 API 请求的重要凭证 [API密钥管理]

    secretKey:腾讯云账号生成的secretKey, 是构建腾讯云 API 请求的重要凭证 [API密钥管理]

    region:腾讯云对象存储的区域代号,如:ap-beijing-1、ap-beijing、ap-shanghai、ap-guangzhou、ap-chengdu、ap-chongqing、ap-singapore、ap-hongkong、na-toronto、eu-frankfurt、ap-mumbai、ap-seoul、na-siliconvalley、na-ashburn、ap-bangkok、eu-moscow

    bucket:腾讯云对象存储的桶名,如:edu-wkz-1251049911

模块接口

init

服务初始化

init()

示例代码

var cos = api.require('tencentCos');
cos.init();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

putObject

上传文件

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

params

url:

  • 类型:字符串
  • 描述:需上传的本地文件路径,要求本地路径(fs://、widget://)

object:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'success',    //字符串类型;事件类型
                             //取值范围:
                             //onComplete(成功)
                             //onProgress(进度)
                             //onError(失败)
    currentSize: '',             //字符串类型;已上传文件大小,仅onProgress有值
    totalSize: '',           //字符串类型;文件总大小,仅onProgress有值
    location: ''              //字符串类型;腾讯云地址,仅onComplete有值
    key: ''              //字符串类型;腾讯云返回的key,仅onComplete有值
}

示例代码

var cos = api.require('tencentCos');
cos.putObject({
    url: 'widget://image/test.jpg',
    object: 'test.jpg'
}, function(ret, err){        
    if( ret ){
        alert( JSON.stringify( ret ) );
    }else{
        alert( JSON.stringify( err ) );
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

downloadObject

下载文件

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

params

url:

  • 类型:字符串
  • 描述:文件下载后的路径;注意:android下载后是目录加文件名,如:/storage/emulated/0/UZMap/A6097717088936/download/test.jpg; ios下载后直接是文件名,如:/var/mobile/Containers/Data/Application/729BFF43-D52E-44B9-85F0-CE71B24C197D/Documents/uzfs/wgt/A6097717088936/download

object:

  • 类型:字符串
  • 描述:文件在腾讯云上的命名

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'success',    //字符串类型;事件类型
                             //取值范围:
                             //onComplete(成功)
                             //onProgress(进度)
                             //onError(失败)
    currentSize: '',             //字符串类型;已下载文件大小,仅onProgress有值
    totalSize: '',           //字符串类型;文件总大小,仅onProgress有值
    path: ''              //字符串类型;文件下载的本地地址,仅onComplete有值
}

示例代码

var cos = api.require('tencentCos');
cos.downloadObject({
    url: 'download',
    object: 'test.jpg'
}, function(ret, err){        
    if( ret ){
        alert( JSON.stringify( ret ) );
    }else{
        alert( JSON.stringify( err ) );
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteObject

删除文件

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

params

object:

  • 类型:字符串
  • 描述:文件在腾讯云上的命名

callback(ret, err)

ret:

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

示例代码

var cos = api.require('tencentCos');
cos.deleteObject({
    object: 'test.jpg'
}, function(ret, err){        
    if( ret ){
        alert( JSON.stringify( ret ) );
    }else{
        alert( JSON.stringify( err ) );
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteMultipleObject

多文件删除

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

params

objects:

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

callback(ret, err)

ret:

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

示例代码

var cos = api.require('tencentCos');
cos.deleteMultipleObject({
    objects: ['test1.jpg','test2.jpg']
}, function(ret, err){        
    if( ret ){
        alert( JSON.stringify( ret ) );
    }else{
        alert( JSON.stringify( err ) );
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本