aliyunStsOss
来自于:开发者立即使用
getStsToken initConfig init upload resumableUpload download deleteObject signAccessObjectURL
概述
aliyunStsOss封装了阿里云OSS云储存平台的SDK,集成了上传、下载、文件处理功能;使用之前须开通阿里云OSS服务,获取 accessKeyId 和 accessKeySecret。本文档假设您已经开通了阿里云OSS 服务,并创建了AccessKeyId 和AccessKeySecret。 本文档只支持使用STS临时授权访问模式。
getStsToken
获取sts鉴权临时secret(可用自身的请求替代)
getStsToken({params}, callback(ret, err))
params
url:
- 类型:字符串
- 描述:(必选项)获取stsToken的请求的地址
type:
- 类型:字符串
- 描述:(可选项)请求方式 POST 或 GET
- 默认值:GET
data:
- 类型:JSON对象
- 描述:(可选项)发送到服务器的数据
callback(ret, err)
ret:
- 类型:JSON对象,返回服务器的所有数据
- 内部字段:
{
data: { //此属性为服务器封装,按原数据返回
accessKeyId: 'accessKeyId', //临时keyId
accessKeySecret: 'accessKeySecret', //临时keySecret
expiration: 'expiration', //有效期
securityToken: 'securityToken' //密钥token
},
message: '操作成功', //信息描述
code: 200 //此字段固定,不可改变,int类型
}
err:
- 类型:JSON对象
- 内部字段:
{
message: '' //错误描述
code: 10000 //错误码
//10000:系统异常
//10001:url参数异常
//10002:type参数异常
//10003:网络异常
//404:无效URL
}
示例代码
var oss = api.require('aliyunStsOss');
oss.getStsToken({
url: '/sts/getToken.mt'
}, function(ret, err) {
if(ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
initConfig
初始化oss对象。 移动终端是一个不受信任的环境,如果把AccessKeyId和AccessKeySecret直接保存在终端本地用来加签请求,存在极高的风险。所以推荐使用STS临时授权访问。
initConfig({params}, callback(ret, err))
params
endpoint:
- 类型:字符串
- 描述:(可选项)阿里云OSS服务在各个区域的地址,如使用CDN加速并有自定义endpoint须填
- 默认值:http://oss-cn-hangzhou.aliyuncs.com
accessKeyId:
- 类型:字符串
- 描述:(必选项)从阿里云获取的accessKeyId
accessKeySecret:
- 类型:字符串
- 描述:(必选项)从阿里云获取的accessKeySecret
securityToken:
- 类型:字符串
- 描述:(必选项)从阿里云获取的securityToken
callback(ret, err)
ret:
- 类型:JSON对象,返回服务器的所有数据
- 内部字段:
{
message: '初始化成功', //信息描述
code: 200 //状态码
}
err:
- 类型:JSON对象
- 内部字段:
{
message: '' //错误描述
code: 10000 //错误码
//10000:初始化失败
//10001:accessKeyId参数异常
//10002:accessKeySecret参数异常
//10003:securityToken参数异常
}
示例代码
var oss = api.require('aliyunStsOss');
oss.initConfig({
accessKeyId: 'accessKeyId',
securityToken: 'securityToken',
accessKeySecret: 'accessKeySecret'
}, function(ret, err) {
if(ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
init
初始化oss对象。(本文档推荐使用) 移动终端是一个不受信任的环境,如果把AccessKeyId和AccessKeySecret直接保存在终端本地用来加签请求,存在极高的风险。所以推荐使用STS临时授权访问。 请求地址返回的数据格式必须如下:
{
data: {
accessKeyId: 'accessKeyId', //临时keyId
accessKeySecret: 'accessKeySecret', //临时keySecret
securityToken: 'securityToken' //密钥token
},
code: 200 //状态码为200,不可改变,int类型
}
init({params}, callback(ret, err))
params
url:
- 类型:字符串
- 描述:(必选项)获取stsToken的请求的地址
type:
- 类型:字符串
- 描述:(可选项)请求方式 POST 或 GET
- 默认值:GET
data:
- 类型:JSON对象
- 描述:(可选项)发送到服务器的数据
endpoint:
- 类型:字符串
- 描述:(可选项)阿里云OSS服务在各个区域的地址,如使用CDN加速并有自定义endpoint须填
- 默认值:http://oss-cn-hangzhou.aliyuncs.com
callback(ret, err)
ret:
- 类型:JSON对象,返回服务器的所有数据
- 内部字段:
{
message: '初始化成功', //信息描述
code: 200 //状态码
}
err:
- 类型:JSON对象
- 内部字段:
{
message: '' //错误描述
code: 10000 //错误码
//10000:系统异常
//10001:url参数异常
//10002:type参数异常
//10003:网络异常
//10004:网络数据有误
//10005:初始化失败
//404:无效URL
}
示例代码
var oss = api.require('aliyunStsOss');
oss.init({
url: '/sts/getToken.mt'
}, function(ret, err) {
if(ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
upload
文件上传,通过NSURL上传一个文件
upload({params}, callback(ret, err))
params
bucketName:
- 类型:字符串
- 描述:(必选项)Bucket名称
objectKey:
- 类型:字符串
- 描述:(必选项)Object名称,包含文件最终命名。如:”folder/subfolder/file”
- 注意:路径默认是“根目录”,不需要以‘/’开头。
file:
- 类型:字符串
- 描述:(必选项)要上传的文件,支持fs://、cache://等文件路径协议及真实路径。
type:
- 类型:数值
- 描述:(可选项)上传类型:0同步;1异步。
- 默认值:0
callback(ret, err)
ret:
- 类型:JSON对象,返回服务器的所有数据
- 内部字段:
{
message: '上传成功', //状态码描述
requestId: 'requestId', //x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。
url: 'http://xxx.jpg', //文件链接,公共读可以直接访问
code: 200 //状态码
}
err:
- 类型:JSON对象
- 内部字段:
{
message: '' //错误描述
code: 10000 //错误码
//10000:系统异常
//10001:bucketName参数异常
//10002:objectKey参数异常
//10003:file参数异常
//10004:type参数异常
}
示例代码
var oss = api.require('aliyunStsOss');
oss.upload({
bucketName: 'bucketName',
objectKey: 'headImage/XXXXX.jpg',
file: '/storage/emulated/0/UZMap/A6059600789637/picture/p-307332b9.jpg'
}, function(ret, err) {
if(ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
resumableUpload
文件断点续传,通过NSURL上传一个文件
resumableUpload({params}, callback(ret, err))
params
bucketName:
- 类型:字符串
- 描述:(必选项)Bucket名称
objectKey:
- 类型:字符串
- 描述:(必选项)Object名称,包含文件最终命名。如:”folder/subfolder/file”
- 注意:路径默认是“根目录”,不需要以‘/’开头。
file:
- 类型:字符串
- 描述:(必选项)要上传的文件,支持fs://、cache://等文件路径协议及真实路径。
callback(ret, err)
ret:
- 类型:JSON对象,返回服务器的所有数据
- 内部字段:
{
message: '上传成功', //状态码描述
requestId: 'requestId', //x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。
url: 'http://xxx.jpg', //文件链接,公共读可以直接访问
code: 200 //状态码
}
err:
- 类型:JSON对象
- 内部字段:
{
message: '' //错误描述
code: 10000 //错误码
//10000:系统异常
//10001:bucketName参数异常
//10002:objectKey参数异常
//10003:file参数异常
}
示例代码
var oss = api.require('aliyunStsOss');
oss.resumableUpload({
bucketName: 'bucketName',
objectKey: 'headImage/XXXXX.jpg',
file: '/storage/emulated/0/UZMap/A6059600789637/picture/p-307332b9.jpg'
}, function(ret, err) {
if(ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
download
下载文件 使用方法前,需初始化oss对象
download({params}, callback(ret, err))
params
bucketName:
- 类型:字符串
- 描述:(必选项)Bucket名称
objectKey:
- 类型:字符串
- 描述:(必选项)Object名称,包含文件最终命名。如:”folder/subfolder/file”
- 注意:路径默认是“根目录”,不需要以‘/’开头。
path:
- 类型:字符串
- 描述:(必选项)要上传的文件,支持fs://、cache://等文件路径协议及真实路径。
type:
- 类型:数值
- 描述:(可选项)上传类型:0同步;1异步。
- 默认值:0
callback(ret, err)
ret:
- 类型:JSON对象,返回服务器的所有数据
- 内部字段:
{
message: '下载成功', //状态码描述
requestId: 'requestId', //x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。
path: '/storage/xxx.jpg', //文件本地路径
code: 200 //状态码
}
err:
- 类型:JSON对象
- 内部字段:
{
message: '' //错误描述
code: 10000 //错误码
//10000:系统异常
//10001:bucketName参数异常
//10002:objectKey参数异常
//10003:file参数异常
//10004:type参数异常
}
示例代码
var oss = api.require('aliyunStsOss');
oss.download({
bucketName: 'bucketName',
objectKey: 'headImage/XXXXX.jpg',
path: api.cacheDir + '/XXXXX.jpg'
}, function(ret, err) {
if(ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteObject
删除文件 使用方法前,需初始化oss对象
deleteObject({params}, callback(ret, err))
params
bucketName:
- 类型:字符串
- 描述:(必选项)Bucket名称
objectKey:
- 类型:字符串
- 描述:(必选项)Object名称,包含文件最终命名。如:”folder/subfolder/file”
- 注意:路径默认是“根目录”,不需要以‘/’开头。
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
message: '删除成功', //状态码描述
requestId: 'requestId', //x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。
code: 200 //状态码
}
err:
- 类型:JSON对象
- 内部字段:
{
message: '' //错误描述
code: 10000 //错误码
//10000:系统异常
//10001:bucketName参数异常
//10002:objectKey参数异常
}
示例代码
var oss = api.require('aliyunStsOss');
oss.deleteObject({
bucketName: 'bucketName',
objectKey: 'headImage/XXXXX.jpg'
}, function(ret, err) {
if(ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
signAccessObjectURL
签名URL授予第三方访问(私有读的情况下使用,亦可获取文件的正确访问地址使用) 使用方法前,需初始化oss对象
signAccessObjectURL({params}, callback(ret, err))
params
bucketName:
- 类型:字符串
- 描述:(必选项)Bucket名称
objectKey:
- 类型:字符串
- 描述:(必选项)Object名称,包含文件最终命名。如:”folder/subfolder/file”
- 注意:路径默认是“根目录”,不需要以‘/’开头。
type:
- 类型:数值
- 描述:(可选项)公开私有类型0:公开;1:私有
- 默认:0
interval:
- 类型:数值
- 描述:(可选项)过期时间秒
- 默认:1800
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
message: '删除成功', //状态码描述
url: 'http://xxx.jpg?OSSAccessKeyId=', //有效请求地址
code: 200 //状态码
}
err:
- 类型:JSON对象
- 内部字段:
{
message: '' //错误描述
code: 10000 //错误码
//10000:系统异常
//10001:bucketName参数异常
//10002:objectKey参数异常
//10003:type参数异常
}
示例代码
var oss = api.require('aliyunStsOss');
oss.signAccessObjectURL({
bucketName: 'bucketName',
objectKey: 'headImage/XXXXX.jpg',
type: 1
}, function(ret, err) {
if(ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本