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对象,返回服务器的所有数据
  • 内部字段:
  1. {
  2. data: { //此属性为服务器封装,按原数据返回
  3. accessKeyId: 'accessKeyId', //临时keyId
  4. accessKeySecret: 'accessKeySecret', //临时keySecret
  5. expiration: 'expiration', //有效期
  6. securityToken: 'securityToken' //密钥token
  7. },
  8. message: '操作成功', //信息描述
  9. code: 200 //此字段固定,不可改变,int类型
  10. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. message: '' //错误描述
  3. code: 10000 //错误码
  4. //10000:系统异常
  5. //10001:url参数异常
  6. //10002:type参数异常
  7. //10003:网络异常
  8. //404:无效URL
  9. }

示例代码

  1. var oss = api.require('aliyunStsOss');
  2. oss.getStsToken({
  3. url: '/sts/getToken.mt'
  4. }, function(ret, err) {
  5. if(ret) {
  6. alert(JSON.stringify(ret));
  7. } else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

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对象,返回服务器的所有数据
  • 内部字段:
  1. {
  2. message: '初始化成功', //信息描述
  3. code: 200 //状态码
  4. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. message: '' //错误描述
  3. code: 10000 //错误码
  4. //10000:初始化失败
  5. //10001:accessKeyId参数异常
  6. //10002:accessKeySecret参数异常
  7. //10003:securityToken参数异常
  8. }

示例代码

  1. var oss = api.require('aliyunStsOss');
  2. oss.initConfig({
  3. accessKeyId: 'accessKeyId',
  4. securityToken: 'securityToken',
  5. accessKeySecret: 'accessKeySecret'
  6. }, function(ret, err) {
  7. if(ret) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

init

初始化oss对象。(本文档推荐使用) 移动终端是一个不受信任的环境,如果把AccessKeyId和AccessKeySecret直接保存在终端本地用来加签请求,存在极高的风险。所以推荐使用STS临时授权访问。 请求地址返回的数据格式必须如下:

  1. {
  2. data: {
  3. accessKeyId: 'accessKeyId', //临时keyId
  4. accessKeySecret: 'accessKeySecret', //临时keySecret
  5. securityToken: 'securityToken' //密钥token
  6. },
  7. code: 200 //状态码为200,不可改变,int类型
  8. }

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对象,返回服务器的所有数据
  • 内部字段:
  1. {
  2. message: '初始化成功', //信息描述
  3. code: 200 //状态码
  4. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. message: '' //错误描述
  3. code: 10000 //错误码
  4. //10000:系统异常
  5. //10001:url参数异常
  6. //10002:type参数异常
  7. //10003:网络异常
  8. //10004:网络数据有误
  9. //10005:初始化失败
  10. //404:无效URL
  11. }

示例代码

  1. var oss = api.require('aliyunStsOss');
  2. oss.init({
  3. url: '/sts/getToken.mt'
  4. }, function(ret, err) {
  5. if(ret) {
  6. alert(JSON.stringify(ret));
  7. } else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

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对象,返回服务器的所有数据
  • 内部字段:
  1. {
  2. message: '上传成功', //状态码描述
  3. requestId: 'requestId', //x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。
  4. url: 'http://xxx.jpg', //文件链接,公共读可以直接访问
  5. code: 200 //状态码
  6. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. message: '' //错误描述
  3. code: 10000 //错误码
  4. //10000:系统异常
  5. //10001:bucketName参数异常
  6. //10002:objectKey参数异常
  7. //10003:file参数异常
  8. //10004:type参数异常
  9. }

示例代码

  1. var oss = api.require('aliyunStsOss');
  2. oss.upload({
  3. bucketName: 'bucketName',
  4. objectKey: 'headImage/XXXXX.jpg',
  5. file: '/storage/emulated/0/UZMap/A6059600789637/picture/p-307332b9.jpg'
  6. }, function(ret, err) {
  7. if(ret) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

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对象,返回服务器的所有数据
  • 内部字段:
  1. {
  2. message: '上传成功', //状态码描述
  3. requestId: 'requestId', //x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。
  4. url: 'http://xxx.jpg', //文件链接,公共读可以直接访问
  5. code: 200 //状态码
  6. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. message: '' //错误描述
  3. code: 10000 //错误码
  4. //10000:系统异常
  5. //10001:bucketName参数异常
  6. //10002:objectKey参数异常
  7. //10003:file参数异常
  8. }

示例代码

  1. var oss = api.require('aliyunStsOss');
  2. oss.resumableUpload({
  3. bucketName: 'bucketName',
  4. objectKey: 'headImage/XXXXX.jpg',
  5. file: '/storage/emulated/0/UZMap/A6059600789637/picture/p-307332b9.jpg'
  6. }, function(ret, err) {
  7. if(ret) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

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对象,返回服务器的所有数据
  • 内部字段:
  1. {
  2. message: '下载成功', //状态码描述
  3. requestId: 'requestId', //x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。
  4. path: '/storage/xxx.jpg', //文件本地路径
  5. code: 200 //状态码
  6. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. message: '' //错误描述
  3. code: 10000 //错误码
  4. //10000:系统异常
  5. //10001:bucketName参数异常
  6. //10002:objectKey参数异常
  7. //10003:file参数异常
  8. //10004:type参数异常
  9. }

示例代码

  1. var oss = api.require('aliyunStsOss');
  2. oss.download({
  3. bucketName: 'bucketName',
  4. objectKey: 'headImage/XXXXX.jpg',
  5. path: api.cacheDir + '/XXXXX.jpg'
  6. }, function(ret, err) {
  7. if(ret) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

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对象
  • 内部字段:
  1. {
  2. message: '删除成功', //状态码描述
  3. requestId: 'requestId', //x-oss-request-id是由Aliyun OSS创建,并唯一标识这个response的UUID。
  4. code: 200 //状态码
  5. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. message: '' //错误描述
  3. code: 10000 //错误码
  4. //10000:系统异常
  5. //10001:bucketName参数异常
  6. //10002:objectKey参数异常
  7. }

示例代码

  1. var oss = api.require('aliyunStsOss');
  2. oss.deleteObject({
  3. bucketName: 'bucketName',
  4. objectKey: 'headImage/XXXXX.jpg'
  5. }, function(ret, err) {
  6. if(ret) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });

可用性

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对象
  • 内部字段:
  1. {
  2. message: '删除成功', //状态码描述
  3. url: 'http://xxx.jpg?OSSAccessKeyId=', //有效请求地址
  4. code: 200 //状态码
  5. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. message: '' //错误描述
  3. code: 10000 //错误码
  4. //10000:系统异常
  5. //10001:bucketName参数异常
  6. //10002:objectKey参数异常
  7. //10003:type参数异常
  8. }

示例代码

  1. var oss = api.require('aliyunStsOss');
  2. oss.signAccessObjectURL({
  3. bucketName: 'bucketName',
  4. objectKey: 'headImage/XXXXX.jpg',
  5. type: 1
  6. }, function(ret, err) {
  7. if(ret) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本