aliyunOSS封装了阿里云OSS云储存平台的SDK,集成了异步上传,追加上传,断点续传三种上传方式;异步下载、图片处理功能;使用之前须开通阿里云OSS服务,获取 accessKeyId 和 accessKeySecret。本文档假设您已经开通了阿里云OSS 服务,并创建了AccessKeyId 和AccessKeySecret。
####环境要求 1.iOS系统版本:iOS 7.0及以上
2.必须注册有Aliyun.com用户账户,并开通OSS服务。
#插件接口
初始化sdk (调用优先级最高,只需要调用一次)
初始化,支持明文模式和自签名模式 。移动终端是一个不受信任的环境,如果把AccessKeyId和AccessKeySecret直接保存在终端本地用来加签请求,存在极高的风险。明文模式鉴权必须设置accessKeyId和accessKeySecret,此方式建议只在测试时使用。正式环境请使用自签名模式,此模式serverUrl为必须。
initOSSClient({params},callback(ret, err))
accessKeyId:
accessKeySecret:
endpoint:
serverUrl:
ret:
{
status : true //布尔类型;表示是否初始化成功
}
明文模式:
var aliyunOSS = api.require('aliyunOSS');
aliyunOSS.initOSSClient({
endpoint : 'https://oss-cn-hangzhou.aliyuncs.com',
accessKeyId : 'your accessKeyId',
accessKeySecret:"your accessKeySecret",
},function(ret,err){
if(ret){
api.alert({msg: JSON.stringify(ret)});
}
});
自签名模式:
var aliyunOSS = api.require('aliyunOSS');
aliyunOSS.initOSSClient({
endpoint : "https://oss-cn-hangzhou.aliyuncs.com",
serverUrl : "https://localhost:8080/distribute-token.json",
},function(ret,err){
if(ret){
api.alert({msg: JSON.stringify(ret)});
}
else{
api.alert({msg: JSON.stringify(err)});
}
});
iOS,Android系统
可提供的1.0.0及更高版本
文件上传, 通过NSURL上传一个文件
upload({params}, callback(ret, err))
bucketName:
objectKey:
file:
uploadType:
ret:
{
progress:100, // 数字类型,上传进度 (ios保留两位小数点)
oper: 'complete', // 上传完成,字符串类型
requestId:'requestId', // x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。如果在使用OSS服务时遇到问题,可以凭借该字段联系OSS工作人员,快速定位问题。字符串类型
etag:'etag' // ETag (entity tag) 在每个Object生成的时候被创建,用于标示一个Object的内容。
对于Put Object请求创建的Object,ETag值是其内容的MD5值;对于其他方式创建的Object,ETag值是其内容的UUID。
ETag值可以用于检查Object内容是否发生变化。字符串类型
}
err:
{
code: 404, //数字类型;错误码
msg:"错误信息描述" //字符串类型;
}
var aliyunOSS = api.require('aliyunOSS');
aliyunOSS.upload({
file : "fs://a.jpg",
bucketName : "iOS_test",
objectKey : "example.png",
uploadType :1,
}, function(ret, err) {
if(ret){
api.alert({msg: JSON.stringify(ret)});
}
else{
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
下载文件,当下载图片并且传入process参数时可以处理图片。
OSS图片处理提供以下功能:
download({params}, callback(ret, err))
bucketName:
objectKey:
process:
saveFileName:
ret:
{
progress:10, // 数字类型,下载进度 (ios保留两位小数点,需要console.log获取,alert会阻止程序进程)
oper: 'complete', //字符串类型;下载成功
path: '/sdcard/0/a.txt', //字符串类型;文件保存路径
contentLength:456789, //文件字节数
}
err:
{
code: 404, //数字类型;错误码
msg:"错误信息描述" //字符串类型;
}
var aliyunOSS = api.require('aliyunOSS');
aliyunOSS.download({
bucketName:'bucketName',
objectKey : 'example.jpg',
process:"image/resize,m_fixed,w_100,h_100",
saveFileName:fs://test.jpg
}, function(ret, err) {
if(ret){
console.log(JSON.stringify(ret));
}
else{
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
删除单个文件,要求对所在的Bucket有写权限。
deleteObject({params}, callback(ret, err))
bucketName:
objectKey:
ret:
{
status:true //删除成功
}
var aliyunOSS = api.require('aliyunOSS');
aliyunOSS.deleteObject({
bucketName:'bucketName',
objectKey :'example.jpg',
}, function(ret, err) {
if(ret){
api.alert({msg: JSON.stringify(ret)});
}
else{
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本