baiduBos

来自于:开发者立即使用

uploadPart listParts abortMultipartUpload deleteObject

概述

BOS基本功能介绍

百度对象存储BOS(Baidu Object Storage),是一种面向Internet的存储服务,向用户提供稳定、安全、高效以及高扩展存储服务。用户可以通过控制台界面,简单快捷的完成对象的存储和检索等基本功能。

baiduBos 模块概述

本模块封装了百度对象存储BOS的原生SDK,支持大文件断点续传、上传超过5GB大小的文件、上传文件之前,无法确定上传文件的大小等。

模块使用攻略

使用之前须从百度云申请对象存储BOS,新建Bucket。获取accessKey、secretAccessKey。

固件要求

Android:2.3.1及以上 iOS:7.0及以上

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

模块接口

uploadPart

上传分块文件

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

params

accessKey:

  • 类型:字符串
  • 描述:(必填项)在百度云申请的accessKey。[见:安全认证 / Access Key]

secretAccessKey:

  • 类型:字符串
  • 描述:(必填项)在百度云申请的secretAccessKey。[见:安全认证 / Access Key]

endpointBos:

  • 类型:字符串
  • 描述:(必填项)百度云Bucket节点地址[见:BJ bj.bcebos.com | GZ hk-2.bcebos.com | SU su.bcebos.com]
  • 默认值:https://bj.bcebos.com

token:

  • 类型:字符串
  • 描述:(可选项)STS 方式实现移动端的鉴权,STS的详细介绍请参考临时授权访问

bucketName:

  • 类型:字符串
  • 描述:(必填项)在百度bos申请的bucketName

url:

  • 类型:字符串
  • 描述:(必填项)上传文件本地路径。[支持fs:// widget://]。

objectKey:

  • 类型:字符串
  • 描述:(必填项)存储到Bucket的路径及文件名称。

maxConnections:

  • 类型:数字型
  • 描述:(可选项)最大连接数
  • 默认值:10

connectionTimeoutInMillis:

  • 类型:数字型
  • 描述:(可选项)连接超时事件
  • 默认值:5000

socketTimeoutInMillis:

  • 类型:数字型
  • 描述:(可选项)socket连接超时时间
  • 默认值:2000

uploadId:

  • 类型:字符串
  • 描述:(可选项)上一次的上传id,用于断点续传。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. eventType : 'Start', //Start Process Success PartProcess
  4. UploadId : '', //上传id(仅Start存在)
  5. PartCount : 0 //分块总数(仅Start存在)
  6. PartNumber : 1, //上传的块序号(仅Process、PartProcess存在)
  7. PartETag : '', //上传的块的tag(仅Process存在)
  8. ETag : '', //(仅Success存在)
  9. Process : 0 //上传的块的上传进度(仅PartProcess存在)
  10. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. Message: '',//上传错误信息
  3. ErrorCode : '',//(仅安卓有值:百度云上传错误)
  4. RequestId : '',//(仅安卓有值:百度云上传错误)
  5. StatusCode : '',//(仅安卓有值:百度云上传错误)
  6. ErrorType : ''//(仅安卓有值:百度云上传错误)
  7. }

示例代码

  1. var demo = api.require('baiduBos');
  2. var param = {
  3. url : 'widget://res/test2.flv',
  4. objectKey : 'test/project/1/43/test3.flv',
  5. bucketName : 'testzhaofei',
  6. accessKey : 'AC7ceab0f92375d1a19dcc653c1a7ba0',
  7. secretAccessKey : 'F71a959bba3ac38dfca74c796341f440',
  8. endpointBos : 'https://bj.bcebos.com',
  9. maxConnections : 10,
  10. connectionTimeoutInMillis : 5000,
  11. socketTimeoutInMillis : 2000,
  12. //uploadId : '0dcaec319215693a0029f0269d95310c' //上一次上传的id,用于断点续传使用
  13. };
  14. demo.uploadPart(param, function(ret, err){
  15. alert("uploadPart>>"+JSON.stringify(ret)+" "+JSON.stringify(err));
  16. if(ret.status){
  17. if(ret.eventType=='Start'){
  18. uploadId = ret.UploadId;
  19. }else if(ret.eventType=='Process'){
  20. }else if(ret.eventType=='Success'){
  21. }
  22. }else{
  23. //error
  24. }
  25. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

listParts

获取所有已上传的分块信息

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

params

accessKey:

  • 类型:字符串
  • 描述:(必填项)在百度云申请的accessKey。[见:安全认证 / Access Key]

secretAccessKey:

  • 类型:字符串
  • 描述:(必填项)在百度云申请的secretAccessKey。[见:安全认证 / Access Key]

endpointBos:

  • 类型:字符串
  • 描述:(必填项)百度云Bucket节点地址[见:BJ bj.bcebos.com | GZ hk-2.bcebos.com | SU su.bcebos.com]
  • 默认值:https://bj.bcebos.com

token:

  • 类型:字符串
  • 描述:(可选项)STS 方式实现移动端的鉴权,STS的详细介绍请参考临时授权访问

bucketName:

  • 类型:字符串
  • 描述:(必填项)在百度bos申请的bucketName

objectKey:

  • 类型:字符串
  • 描述:(必填项)存储到Bucket的路径及文件名称。

maxParts:

  • 类型:数字型
  • 描述:(可选项)每次获取最大分块上传事件的数目
  • 默认值:100

partNumberMarker:

  • 类型:数字型
  • 描述:(可选项)若想获取更多已上传的分块信息,可以使用PartNumberMarker参数分次读取
  • 默认值:1

uploadId:

  • 类型:字符串
  • 描述:(可选项)上传id。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. data :[
  4. PartNumber : '',
  5. ETag : '',
  6. Size : ''
  7. ]
  8. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. Message: '',//上传错误信息
  3. ErrorCode : '',//(仅安卓有值:百度云上传错误)
  4. RequestId : '',//(仅安卓有值:百度云上传错误)
  5. StatusCode : '',//(仅安卓有值:百度云上传错误)
  6. ErrorType : ''//(仅安卓有值:百度云上传错误)
  7. }

示例代码

  1. var demo = api.require('baiduBos');
  2. var param = {
  3. accessKey : 'AC7ceab0f92375d1a19dcc653c1a7ba0',
  4. secretAccessKey : 'F71a959bba3ac38dfca74c796341f440',
  5. objectKey : 'test/project/1/43/test3.flv',
  6. bucketName : 'testzhaofei',
  7. uploadId : uploadId
  8. };
  9. demo.listParts(param, function(ret, err){
  10. alert("listParts>>"+uploadId+" "+JSON.stringify(ret)+" "+JSON.stringify(err));
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

abortMultipartUpload

取消分块上传

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

params

accessKey:

  • 类型:字符串
  • 描述:(必填项)在百度云申请的accessKey。[见:安全认证 / Access Key]

secretAccessKey:

  • 类型:字符串
  • 描述:(必填项)在百度云申请的secretAccessKey。[见:安全认证 / Access Key]

endpointBos:

  • 类型:字符串
  • 描述:(必填项)百度云Bucket节点地址[见:BJ bj.bcebos.com | GZ hk-2.bcebos.com | SU su.bcebos.com]
  • 默认值:https://bj.bcebos.com

token:

  • 类型:字符串
  • 描述:(可选项)STS 方式实现移动端的鉴权,STS的详细介绍请参考临时授权访问

bucketName:

  • 类型:字符串
  • 描述:(必填项)在百度bos申请的bucketName

objectKey:

  • 类型:字符串
  • 描述:(必填项)存储到Bucket的路径及文件名称。

uploadId:

  • 类型:字符串
  • 描述:(可选项)上传id。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. Message: '',//上传错误信息
  3. ErrorCode : '',//(仅安卓有值:百度云上传错误)
  4. RequestId : '',//(仅安卓有值:百度云上传错误)
  5. StatusCode : '',//(仅安卓有值:百度云上传错误)
  6. ErrorType : ''//(仅安卓有值:百度云上传错误)
  7. }

示例代码

  1. var demo = api.require('baiduBos');
  2. var param = {
  3. accessKey : 'AC7ceab0f92375d1a19dcc653c1a7ba0',
  4. secretAccessKey : 'F71a959bba3ac38dfca74c796341f440',
  5. objectKey : 'test/project/1/43/test3.flv',
  6. bucketName : 'testzhaofei',
  7. uploadId : uploadId
  8. };
  9. demo.abortMultipartUpload(param, function(ret, err){
  10. alert("abortMultipartUpload>>"+uploadId+" "+JSON.stringify(ret)+" "+JSON.stringify(err));
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteObject

删除文件

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

params

accessKey:

  • 类型:字符串
  • 描述:(必填项)在百度云申请的accessKey。[见:安全认证 / Access Key]

secretAccessKey:

  • 类型:字符串
  • 描述:(必填项)在百度云申请的secretAccessKey。[见:安全认证 / Access Key]

endpointBos:

  • 类型:字符串
  • 描述:(必填项)百度云Bucket节点地址[见:BJ bj.bcebos.com | GZ hk-2.bcebos.com | SU su.bcebos.com]
  • 默认值:https://bj.bcebos.com

token:

  • 类型:字符串
  • 描述:(可选项)STS 方式实现移动端的鉴权,STS的详细介绍请参考临时授权访问

bucketName:

  • 类型:字符串
  • 描述:(必填项)在百度bos申请的bucketName

objectKey:

  • 类型:字符串
  • 描述:(必填项)存储到Bucket的路径及文件名称。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. Message: '',//上传错误信息
  3. ErrorCode : '',//(仅安卓有值:百度云上传错误)
  4. RequestId : '',//(仅安卓有值:百度云上传错误)
  5. StatusCode : '',//(仅安卓有值:百度云上传错误)
  6. ErrorType : ''//(仅安卓有值:百度云上传错误)
  7. }

示例代码

  1. var demo = api.require('baiduBos');
  2. var param = {
  3. accessKey : 'AC7ceab0f92375d1a19dcc653c1a7ba0',
  4. secretAccessKey : 'F71a959bba3ac38dfca74c796341f440',
  5. objectKey : 'test/project/1/43/test3.flv',
  6. bucketName : 'testzhaofei',
  7. };
  8. demo.deleteObject(param, function(ret, err){
  9. alert("deleteObject>>"+uploadId+" "+JSON.stringify(ret)+" "+JSON.stringify(err));
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本