为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码供您参考。
BOS基本功能介绍
百度对象存储BOS(Baidu Object Storage),是一种面向Internet的存储服务,向用户提供稳定、安全、高效以及高扩展存储服务。用户可以通过控制台界面,简单快捷的完成对象的存储和检索等基本功能。
baiduBos 插件概述
本插件封装了百度对象存储BOS的原生SDK,支持大文件断点续传、上传超过5GB大小的文件、上传文件之前,无法确定上传文件的大小等。
插件使用攻略
使用之前须从百度云申请对象存储BOS,新建Bucket。获取accessKey、secretAccessKey。
Android:2.3.1及以上 iOS:7.0及以上
Android: okhttp-3.9.0.jar okio-1.13.0.jar
上传分块文件
uploadPart({params}, callback(ret, err))
accessKey:
secretAccessKey:
endpointBos:
token:
bucketName:
url:
objectKey:
maxConnections:
connectionTimeoutInMillis:
socketTimeoutInMillis:
contentType:
uploadId:
ret:
{
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:
{
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({params}, callback(ret, err))
accessKey:
secretAccessKey:
endpointBos:
token:
bucketName:
objectKey:
maxParts:
partNumberMarker:
uploadId:
ret:
{
status: true, //布尔型;true||false
data :[
PartNumber : '',
ETag : '',
Size : ''
]
}
err:
{
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({params}, callback(ret, err))
accessKey:
secretAccessKey:
endpointBos:
token:
bucketName:
objectKey:
uploadId:
ret:
{
status: true //布尔型;true||false
}
err:
{
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({params}, callback(ret, err))
accessKey:
secretAccessKey:
endpointBos:
token:
bucketName:
objectKey:
ret:
{
status: true //布尔型;true||false
}
err:
{
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及更高版本