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 对象
- 内部字段:
{
status: true //布尔型;true||false
eventType : 'Start', //Start Process Success PartProcess
UploadId : '', //上传id(仅Start存在)
PartCount : 0 //分块总数(仅Start存在)
PartNumber : 1, //上传的块序号(仅Process、PartProcess存在)
PartETag : '', //上传的块的tag(仅Process存在)
ETag : '', //(仅Success存在)
Process : 0 //上传的块的上传进度(仅PartProcess存在)
}
err:
- 类型:JSON 对象
- 内部字段:
{
Message: '',//上传错误信息
ErrorCode : '',//(仅安卓有值:百度云上传错误)
RequestId : '',//(仅安卓有值:百度云上传错误)
StatusCode : '',//(仅安卓有值:百度云上传错误)
ErrorType : ''//(仅安卓有值:百度云上传错误)
}
示例代码
var demo = api.require('baiduBos');
var param = {
url : 'widget://res/test2.flv',
objectKey : 'test/project/1/43/test3.flv',
bucketName : 'testzhaofei',
accessKey : 'AC7ceab0f92375d1a19dcc653c1a7ba0',
secretAccessKey : 'F71a959bba3ac38dfca74c796341f440',
endpointBos : 'https://bj.bcebos.com',
maxConnections : 10,
connectionTimeoutInMillis : 5000,
socketTimeoutInMillis : 2000,
//uploadId : '0dcaec319215693a0029f0269d95310c' //上一次上传的id,用于断点续传使用
};
demo.uploadPart(param, function(ret, err){
alert("uploadPart>>"+JSON.stringify(ret)+" "+JSON.stringify(err));
if(ret.status){
if(ret.eventType=='Start'){
uploadId = ret.UploadId;
}else if(ret.eventType=='Process'){
}else if(ret.eventType=='Success'){
}
}else{
//error
}
});
可用性
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 对象
- 内部字段:
{
status: true, //布尔型;true||false
data :[
PartNumber : '',
ETag : '',
Size : ''
]
}
err:
- 类型:JSON 对象
- 内部字段:
{
Message: '',//上传错误信息
ErrorCode : '',//(仅安卓有值:百度云上传错误)
RequestId : '',//(仅安卓有值:百度云上传错误)
StatusCode : '',//(仅安卓有值:百度云上传错误)
ErrorType : ''//(仅安卓有值:百度云上传错误)
}
示例代码
var demo = api.require('baiduBos');
var param = {
accessKey : 'AC7ceab0f92375d1a19dcc653c1a7ba0',
secretAccessKey : 'F71a959bba3ac38dfca74c796341f440',
objectKey : 'test/project/1/43/test3.flv',
bucketName : 'testzhaofei',
uploadId : uploadId
};
demo.listParts(param, function(ret, err){
alert("listParts>>"+uploadId+" "+JSON.stringify(ret)+" "+JSON.stringify(err));
});
可用性
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 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
Message: '',//上传错误信息
ErrorCode : '',//(仅安卓有值:百度云上传错误)
RequestId : '',//(仅安卓有值:百度云上传错误)
StatusCode : '',//(仅安卓有值:百度云上传错误)
ErrorType : ''//(仅安卓有值:百度云上传错误)
}
示例代码
var demo = api.require('baiduBos');
var param = {
accessKey : 'AC7ceab0f92375d1a19dcc653c1a7ba0',
secretAccessKey : 'F71a959bba3ac38dfca74c796341f440',
objectKey : 'test/project/1/43/test3.flv',
bucketName : 'testzhaofei',
uploadId : uploadId
};
demo.abortMultipartUpload(param, function(ret, err){
alert("abortMultipartUpload>>"+uploadId+" "+JSON.stringify(ret)+" "+JSON.stringify(err));
});
可用性
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 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
Message: '',//上传错误信息
ErrorCode : '',//(仅安卓有值:百度云上传错误)
RequestId : '',//(仅安卓有值:百度云上传错误)
StatusCode : '',//(仅安卓有值:百度云上传错误)
ErrorType : ''//(仅安卓有值:百度云上传错误)
}
示例代码
var demo = api.require('baiduBos');
var param = {
accessKey : 'AC7ceab0f92375d1a19dcc653c1a7ba0',
secretAccessKey : 'F71a959bba3ac38dfca74c796341f440',
objectKey : 'test/project/1/43/test3.flv',
bucketName : 'testzhaofei',
};
demo.deleteObject(param, function(ret, err){
alert("deleteObject>>"+uploadId+" "+JSON.stringify(ret)+" "+JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本