huaweiObs 插件封装了华为云对象存储服务obs。华为云注册
对象存储服务(Object Storage Service,OBS)提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据。适合企业备份/归档、视频点播、视频监控等多种数据存储场景。
使用前需了解华为云对象存储相关内容,可查看华为云对象存储文档
1.ios系统版本:ios8.0及以上, 请注意编译时在编译界面的高级设置里面选择支持的系统版本。
2.Android: 编译时需勾选“使用升级环境编译”。
3.必须注册华为云账号,并开通OBS服务。
使用此插件之前必须先配置 config 文件,配置方法如下:
<feature name="huaweiObs">
<param name="ak" value="NKCKXQGFIIMPV9*****" />
<param name="sk" value="ZWKMdDWD0vHyRIDI7C5l71AoX8ruiiy1lh3****" />
<param name="endPoint" value="https://obs.cn-south-1.myhwclouds.com" />
</feature>
字段描述:
ak:华为云账号生成的Access Key ID, 是构建华为云 API 请求的重要凭证 [API密钥管理]
sk:华为云账号生成的Secret Access Key, 是构建华为云 API 请求的重要凭证 [API密钥管理]
endPoint:华为云OBS为每个区域提供Endpoint,用于处理各自区域的访问请求[区域管理],记住要加协议类型(https://),如:https://obs.cn-south-1.myhwclouds.com
服务初始化
init()
var obs = api.require('huaweiObs');
obs.init();
iOS系统,Android系统
可提供的1.0.0及更高版本
流式上传对象
putData({params}, callback(ret, err))
bucket:
objectKey:
uploadType:
uploadFile:
ret:
{
eventType: 'onComplete', //字符串类型;事件类型
//取值范围:
//onComplete(成功)
//onProgress(进度)
//onError(失败)
currentSize: '', //字符串类型;已上传文件大小,仅onProgress有值
totalSize: '', //字符串类型;文件总大小,仅onProgress有值,android返回-1
etag: '', //字符串类型;对象etag值,仅onComplete有值
requestID: '', //字符串类型;对象标识,仅onComplete有值
}
var obs = api.require('huaweiObs');
obs.putData({
bucket: "module-wkz",
objectKey: "test/img1",
uploadType: 3,
uploadFile: "widget://image/test.jpg"
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret ) );
}else{
alert( JSON.stringify( err ) );
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
上传文件
putFile({params}, callback(ret, err))
bucket:
objectKey:
uploadFile:
ret:
{
eventType: 'onComplete', //字符串类型;事件类型
//取值范围:
//onComplete(成功)
//onProgress(进度)
//onError(失败)
currentSize: '', //字符串类型;已上传文件大小,仅onProgress有值
totalSize: '', //字符串类型;文件总大小,仅onProgress有值
etag: '', //字符串类型;对象etag值,仅onComplete有值
requestID: '', //字符串类型;对象标识,仅onComplete有值
}
var obs = api.require('huaweiObs');
obs.putFile({
bucket: "module-wkz",
objectKey: "test/img2",
uploadFile: "widget://image/test.jpg"
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret ) );
}else{
alert( JSON.stringify( err ) );
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
下载文件
downloadObject({params}, callback(ret, err))
bucket:
objectKey:
downloadFile:
ret:
{
eventType: 'onComplete', //字符串类型;事件类型
//取值范围:
//onComplete(成功)
//onProgress(进度)
//onError(失败)
currentSize: '', //字符串类型;已下载文件大小,仅onProgress有值
totalSize: '', //字符串类型;文件总大小,仅onProgress有值
localPath: '' //字符串类型;文件下载的本地地址,仅onComplete有值
}
var obs = api.require('huaweiObs');
obs.downloadObject({
bucket: "module-wkz",
objectKey: "test/img1",
downloadFile: "test"
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret ) );
}else{
alert( JSON.stringify( err ) );
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除文件
deleteObject({params}, callback(ret, err))
bucket:
objectKey:
ret:
{
eventType: 'onComplete', //字符串类型;事件类型
//取值范围:
//onComplete(成功)
//onError(失败)
}
var obs = api.require('huaweiObs');
obs.deleteObject({
objectKey: "test/img1"
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret ) );
}else{
alert( JSON.stringify( err ) );
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
多文件删除
deletesObject({params}, callback(ret, err))
bucket:
objectKeys:
ret:
{
eventType: 'onComplete', //字符串类型;事件类型
//取值范围:
//onComplete(成功)
//onError(失败)
}
var obs = api.require('huaweiObs');
obs.deletesObject({
objectKeys: ["test/img1", "test/img2"]
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret ) );
}else{
alert( JSON.stringify( err ) );
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
复制文件
copyObject({params}, callback(ret, err))
srcBucket:
srcObjectKey:
dstBucket:
dstObjectKey:
ret:
{
eventType: 'onComplete', //字符串类型;事件类型
//取值范围:
//onComplete(成功)
//onError(失败)
}
var obs = api.require('huaweiObs');
obs.copyObject({
srcBucket: "module-wkz",
srcObjectKey: "test/img1",
dstBucket: "module-wkz",
dstObjectKey: "test/img2"
}, function(ret, err){
if( ret ){
alert( JSON.stringify( ret ) );
}else{
alert( JSON.stringify( err ) );
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本