aliOSS

来自于:开发者立即使用

init upload resumableUpload getObject getHead exist delete listObjects copy createBucket previewDoc detectFace tagImage url rename createFolder

概述

aliOSS 封装了阿里云 OSS 云储存平台的 SDK,集成了文件上传、断点续传、文件下载、图片处理、新增 Bucket、获取文件列表、复制文件、判断文件存在、获取文件元信息、创建文件夹、文件重命名等功能;使用之前须开通阿里云 OSS 服务,智能媒体管理,文档预览/图片识别等需开通智能媒体管理(IMM),获取 accessKeyId 和 accessKeySecret。如有任何 Bug 、建议或使用方面的问题,欢迎邮我 jarviszheng(at)qq.com 。 使用示例 Demo 帖

init

初始化 调用其它接口之前必须先初始化,支持明文模式自签名模式STS鉴权模式 ,明文模式鉴权必须设置 accessKeyId 和 accessKeySecret,此方式建议只在本地测试时使用,正式环境请使用自签名模式或 STS 鉴权模式。 自签名和 STS 鉴权模式阿里云设置步骤: 登录阿里云服务器管理控制台,开通访问控制 RAM 自签名:用户管理新建用户,并授权 AliyunOSSFullAccess 权限, 记录 AccessKey 和 secret STS 鉴权:在自签名基础上,用户管理授权 AliyunSTSAssumeRoleAccess 权限,角色管理新建角色 ,授权 AliyunOSSFullAccess 权限 授权示例代码

init({params},callback(ret, err))

params

accessKeyId:

  • 类型:字符串
  • 描述:(可选项)从阿里云获取的 accessKeyId

accessKeySecret:

  • 类型:字符串
  • 描述:(可选项)从阿里云获取的 accessKeySecret

endpoint:

  • 类型:字符串
  • 描述:OSS 区域地址,如:https://oss-cn-beijing.aliyuncs.com

bucketName:

  • 类型:字符串
  • 描述:Bucket 名称,该参数设置默认操作的 Bucket。如您有多个 Bucket 要操作,使用其它方法时有参数可动态改变 Bucket。

params:

  • 类型:json
  • 描述:(可选项)自签名/STS 鉴权模式时向 signUrl/stsUrl 发送(POST 方式)的自定义数据,注:只支持一级 JSON,并且不能包含键为 content 的字段。

timeout:

  • 类型:整型
  • 描述:(可选项)连接超时,默认 15 秒

socketTimeout:

  • 类型:整型
  • 描述:(可选项)传输文件最大允许时间,默认 15 秒

concurrent:

  • 类型:整型
  • 描述:(可选项)最大并发请求数,默认 5 个

retry:

  • 类型:整型
  • 描述:(可选项)失败后最大重试次数,默认 2 次

signUrl:

  • 类型:字符串
  • 描述:(可选项)自签名 URL 地址,使用自签名模式时设置。该地址接收名为 content 的参数,按阿里云自签名算法返回加签后的字符串即可。

stsUrl:

  • 类型:字符串
  • 描述:(可选项)STS 鉴权地址,使用 STS 鉴权模式时设置。该地址访问后需返回如下格式的 JSON 字符串(参数名称必须和下面的一致) :
  1. {
  2. "StatusCode": 200,
  3. "AccessKeyId":"STS.iA645eTOXEqP3cg3VeHf",
  4. "AccessKeySecret":"rV3VQrpFQ4BsyHSAvi5NVLpPIVffDJv4LojUBZCf",
  5. "Expiration":"2015-11-03T09:52:59Z",
  6. "SecurityToken":"CAES7QIIARKAAZPlqaN9ILiQZPS+JDkS/GSZN45RLx4YS/p3OgaUC+oJ..."
  7. }

STS 鉴权详情请参考:https://help.aliyun.com/document_detail/32046.html

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg: "初始化成功!";
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg: "缺少必要参数!"; // 错误描述
  3. }

示例代码

明文模式:

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.init(
  3. {
  4. endpoint: "https://oss-cn-beijing.aliyuncs.com",
  5. accessKeyId: "YOUR ACCESS KEY ID",
  6. accessKeySecret: "YOUR ACCESS KEY SECRET",
  7. bucketName: "YOUR BUCKET NAME",
  8. },
  9. function (ret, err) {
  10. alert(JSON.stringify(ret));
  11. alert(JSON.stringify(err));
  12. }
  13. );

自签名模式:

  1. aliOSS.init(
  2. {
  3. endpoint: "https://oss-cn-beijing.aliyuncs.com",
  4. signUrl: "http://localhost/aliOSS/sign.php",
  5. bucketName: "YOUR BUCKET NAME",
  6. },
  7. function (ret, err) {
  8. alert(JSON.stringify(ret));
  9. alert(JSON.stringify(err));
  10. }
  11. );

自签名 sign.php 只需要返回签名字符串即可,具体加密方式参见 阿里云文档签名算法. PHP 代码(其它语言同理,只需要返回【"OSS " + AccessKeyId + ":" + 加密字符串】该字符串即可):

  1. $AccessKeyId="YOUR ACCESS KEY ID";
  2. $AccessKeySecret="YOUR ACCESS KEY SECRET";
  3. // content 参数由模块自动拼装发送(POST)给服务端,服务端只需按名称(content)获取该值参与加密即可。
  4. $content=$_REQUEST['content'];
  5. // 将获取的 content 以 AccessKeySecret作为加密KEY, 先经过hmac-sha1加密再 base64 编码后获取签名
  6. $sign=base64_encode(hash_hmac('sha1',$content,$AccessKeySecret,true));
  7. echo "OSS " . $AccessKeyId . ":" . $sign; // 按阿里云规则返回签名字符串

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

upload

文件上传

upload({params}, callback(ret, err))

params

file:

  • 类型:字符串
  • 描述:要上传的文件,支持 fs://、cache://等文件路径协议及真实路径。

name:

  • 类型:字符串
  • 描述:上传 OSS 后保存的文件名

bucketName:

  • 类型:字符串
  • 描述:(可选项)上传至的 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

verify:

  • 类型:字符串
  • 描述:(可选项)文件完整性检验,目前只支持参数 CRC。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

上传中返回上传进度

  1. {
  2. oper: "progress", //字符串
  3. progress:"0.05%" //字符串
  4. }

上传成功返回

  1. {
  2. oper: "complete", //字符串
  3. requestId:"requestId", //字符串 具体含义参考阿里云
  4. ETag:"etag"
  5. }

更新说明:为了统一,原 1.X 版本返回值 etag 已废弃,如果您使用过旧版本的 etag,请修改为新的 ETag。

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 404, //错误码,数字类型;
  3. msg:"错误信息描述"
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.upload(
  3. {
  4. file: "fs://a.jpg",
  5. name: "abc.jpg",
  6. },
  7. function (ret, err) {
  8. if (ret.oper == "progress") {
  9. progress1 = $api.byId("progress1");
  10. if (progress1) {
  11. $api.html(progress1, ret.progress);
  12. } else {
  13. $api.append(document.body, '<div id="progress1">Progress</div>');
  14. }
  15. } else if (ret.oper == "complete") {
  16. alert(JSON.stringify(ret));
  17. }
  18. if (err) {
  19. alert(err.msg);
  20. }
  21. }
  22. );

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

resumableUpload

断点续传

resumableUpload({params}, callback(ret, err))

params

file:

  • 类型:字符串
  • 描述:要上传的文件,支持 fs://、cache://等文件路径协议及真实路径。

name:

  • 类型:字符串
  • 描述:上传 OSS 后保存的文件名

bucketName:

  • 类型:字符串
  • 描述:(可选项)上传至的 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

verify:

  • 类型:字符串
  • 描述:(可选项)文件完整性检验,目前只支持参数 CRC。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

上传中返回上传进度

  1. {
  2. oper: "progress", //字符串
  3. progress:"0.05%" //字符串
  4. }

上传成功返回

  1. {
  2. oper: "complete", //字符串
  3. requestId:"requestId" //字符串
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 404, //错误码,数字类型;
  3. msg:"错误信息描述"
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.resumableUpload(
  3. {
  4. file: "fs://a.jpg",
  5. name: "a.jpg",
  6. verify: "CRC",
  7. },
  8. function (ret, err) {
  9. if (ret.oper == "progress") {
  10. progress1 = $api.byId("progress1");
  11. if (progress1) {
  12. $api.html(progress1, ret.progress);
  13. } else {
  14. $api.append(document.body, '<div id="progress1">Progress</div>');
  15. }
  16. } else if (ret.oper == "complete") {
  17. alert(JSON.stringify(ret));
  18. }
  19. if (err) {
  20. alert(err.msg);
  21. }
  22. }
  23. );
  1. api.getPicture(
  2. {
  3. sourceType: "album",
  4. mediaValue: "pic",
  5. },
  6. function (ret, err) {
  7. if (ret && ret.data != "") {
  8. alioss.upload(
  9. {
  10. file: ret.data, // getPicture返回的图片路径
  11. name: "upload.jpg", // 上传至OSS的保存路径
  12. },
  13. function (ret2, err2) {
  14. // alert("ret:"+JSON.stringify(ret2));
  15. if (ret2.oper == "progress") {
  16. $api.css(progress, "width: " + ret2.progress);
  17. } else if (ret2.oper == "complete") {
  18. alert(JSON.stringify(ret2));
  19. }
  20. if (err2) {
  21. alert(err2.msg);
  22. }
  23. }
  24. );
  25. }
  26. }
  27. );

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

getObject

下载文件,当下载图片并且传入 process 参数时可以处理图片。

getObject({params}, callback(ret, err))

params

objectKey:

  • 类型:字符串
  • 描述:待下载的阿里 OSS 文件名

saveAs:

  • 类型:字符串
  • 描述:下载到本地保存的文件名,支持 fs://,cache://等文件路径协议及真实路径。

process:

  • 类型:字符串
  • 描述:(可选项)下载图片时对图片进行处理的命令。处理命令参见阿里文档:图片处理

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

verify:

  • 类型:字符串
  • 描述:(可选项)文件完整性检验,目前只支持参数 CRC。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

下载中返回下载进度

  1. {
  2. oper: "progress", //字符串
  3. progress: "0.05%" //字符串
  4. }

下载成功返回

  1. {
  2. oper: "complete", //字符串类型
  3. path: "/sdcard/0/a.txt", //文件保存路径
  4. contentLength:456789, // 数字 ,文件字节数
  5. contentType:"image/jpg",
  6. ETag:"fba9dede5f27731c9771645a39863328",
  7. lastModified:"2017/03/08 20:20:20"
  8. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型
  3. msg:"错误描述"
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.getObject(
  3. {
  4. objectKey: "5/68/10.mp4",
  5. saveAs: "fs://g.mp4",
  6. },
  7. function (ret, err) {
  8. if (ret.oper == "progress") {
  9. progress1 = $api.byId("progress1");
  10. if (progress1) {
  11. $api.html(progress1, ret.progress);
  12. } else {
  13. $api.append(document.body, '<div id="progress1">Progress</div>');
  14. }
  15. } else if (ret.oper == "complete") {
  16. alert(JSON.stringify(ret));
  17. }
  18. if (err) {
  19. alert(err.msg);
  20. }
  21. }
  22. );

图片处理

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.getObject(
  3. {
  4. objectKey: "abc.jpg",
  5. saveAs: "fs://d.jpg",
  6. process: "image/resize,m_fixed,w_100,h_100",
  7. },
  8. function (ret, err) {
  9. if (ret.oper == "progress") {
  10. progress1 = $api.byId("progress1");
  11. if (progress1) {
  12. $api.html(progress1, ret.progress);
  13. } else {
  14. $api.append(document.body, '<div id="progress1">Progress</div>');
  15. }
  16. } else if (ret.oper == "complete") {
  17. alert(JSON.stringify(ret));
  18. }
  19. if (err) {
  20. alert(err.msg);
  21. }
  22. }
  23. );

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

getHead

获取文件元信息

getHead({params}, callback(ret, err))

params

objectKey:

  • 类型:字符串
  • 描述:阿里云 OSS 文件名

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper: "success", //字符串
  3. contentLength:456789, // 数字 ,文件字节数
  4. contentType:"image/jpg",
  5. ETag:"fba9dede5f27731c9771645a39863328",
  6. lastModified:"2017/03/08 20:20:20"
  7. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg:"错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.getHead(
  3. {
  4. objectKey: "10.mp4",
  5. },
  6. function (ret, err) {
  7. alert("ret:" + JSON.stringify(ret));
  8. alert("err:" + JSON.stringify(err));
  9. }
  10. );

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

exist

判断文件是否存在于 OSS 服务器

exist({params}, callback(ret, err))

params

objectKey:

  • 类型:字符串
  • 描述:阿里云 OSS 文件名

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper: "success", //字符串
  3. exist: true // Boolean 存在为true 不存在为false
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.exist(
  3. {
  4. objectKey: "10.mp4",
  5. },
  6. function (ret, err) {
  7. alert("ret:" + JSON.stringify(ret));
  8. alert("err:" + JSON.stringify(err));
  9. }
  10. );

可用性

iOS 系统,Android 系统

可提供的 2.0.0 及更高版本

delete

删除 OSS 服务器中的文件,要求对 Bucket 有写权限。注:删除时并不会对文件存在与否进行检测,即文件不存在于 OSS 服务器中也会返回成功。

delete({params}, callback(ret, err))

params

objectKey:

  • 类型:字符串
  • 描述:阿里云 OSS 文件名

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper: "success", //字符串
  3. deleted: true // Boolean 成功为true 不成功为false
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.delete(
  3. {
  4. objectKey: "10.mp4",
  5. },
  6. function (ret, err) {
  7. alert("ret:" + JSON.stringify(ret));
  8. alert("err:" + JSON.stringify(err));
  9. }
  10. );

可用性

iOS 系统,Android 系统

可提供的 2.0.0 及更高版本

listObjects

获取 OSS 服务器中的文件列表。

listObjects({params}, callback(ret, err))

params

prefix:

  • 类型:字符串
  • 描述:(可选项)文件名前辍,即以该参数开始的文件才会被返回。设置后可以用于获取某个目录下的文件。注:返回的文件名仍然包含该前辍。

maxKeys:

  • 类型:数字
  • 描述:(可选项)文件最大数量限制。默认为 100,阿里限制不能超过 1000。

marker:

  • 类型:字符串
  • 描述:(可选项)获取文件列表时的起始偏移位置。该参数的值由第一次使用该方法后返回,通过循环调用该接口并设置此参数,可实现分页。

current:

  • 类型:布尔
  • 描述:(可选项)只获取请求路径下的文件及文件夹,文件夹将排在前边,其只含 key, isDir属性。

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper: "success", //字符串
  3. // 返回的文件列表 JSON 数组
  4. objects: [{
  5. key: 'pic/', //文件名 包含前辍的完整路径
  6. isDir: true, // 是不是文件夹
  7. size: 99, // 文件大小
  8. status: 'Normal' , // 文件状态
  9. ETag:"fba9dede5f27731c9771645a39863328",
  10. lastModified:"2018/03/08 20:20:20" // 最后修改时间
  11. }],
  12. length:1, // 数字 当前返回结果中包含的文件数量
  13. marker:'pic/', // 字符串, 下次查询偏移位置,使用该值设置下次查询的marker参数,可实现分页。
  14. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.listObjects(
  3. {
  4. prefix: "pic/",
  5. },
  6. function (ret, err) {
  7. alert("ret:" + JSON.stringify(ret));
  8. alert("err:" + JSON.stringify(err));
  9. }
  10. );

可用性

iOS 系统,Android 系统

可提供的 2.0.0 及更高版本

copy

复制 OSS 服务器内文件。不能复制超过 1G 的文件,不能在不同数据中心间复制。

copy({params}, callback(ret, err))

params

bucketName:

  • 类型:字符串
  • 描述:(可选项)源 Bucket 名称。默认为接口初始化时的 Bucket。

objectKey:

  • 类型:字符串
  • 描述:源文件。

toBucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称。默认和源 Bucket 相同。

toObjectKey:

  • 类型:字符串
  • 描述:复制后保存的文件名。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper: "success", //字符串
  3. result: true //Boolean
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.copy(
  3. {
  4. toBucketName: "wiz-alioss1",
  5. objectKey: "pic.jpg",
  6. toObjectKey: "copied.jpg",
  7. },
  8. function (ret, err) {
  9. alert("ret:" + JSON.stringify(ret));
  10. alert("err:" + JSON.stringify(err));
  11. }
  12. );

可用性

iOS 系统,Android 系统

可提供的 2.0.0 及更高版本

createBucket

新建 Bucket,需要相应权限。

copy({params}, callback(ret, err))

params

bucketName:

  • 类型:字符串
  • 描述:新建 Bucket 名称。名称需要符合阿里云规范,否则返回异常。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper: "success", //字符串
  3. result: true //Boolean
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require('aliOSS');
  2. aliOSS.createBucket({
  3. bucketName:"wiz-alioss1"
  4. }, function(ret, err)
  5. alert("ret:"+JSON.stringify(ret))
  6. alert("err:"+JSON.stringify(err))
  7. })

可用性

iOS 系统,Android 系统

可提供的 2.0.0 及更高版

previewDoc

文档预览,支持 ppt、xls、doc、pdf 等格式文档进行在线预览,具体配置及开通请参考阿里云智能媒体管理(IMM)

previewDoc({params}, callback(ret, err))

params

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

objectKey:

  • 类型:字符串
  • 描述:要预览的文件,需是阿里云支持的文件类型。

expired:

  • 类型:整型
  • 描述:链接失效秒数,默认 3600 秒。

copy:

  • 类型:整型
  • 描述:(可选项)指定预览文件是否能够复制文档内容。
  • 取值:0/1,值为 1,表示支持复制。默认值为 0 ,表示不支持复制。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. url: "https://www.."; // 预览文件的URL地址,可嵌入iframe进行预览
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.previewDoc(
  3. {
  4. objectKey: "测试.docx",
  5. copy: 1,
  6. },
  7. function (ret2, err2) {
  8. if (ret2) {
  9. alert(ret2.url);
  10. }
  11. if (err2) {
  12. alert(err2.msg);
  13. }
  14. }
  15. );

可用性

iOS 系统,Android 系统

可提供的 2.1.0 及更高版

detectFace

人脸识别,具体配置及开通请参考阿里云智能媒体管理(IMM)

detectFace({params}, callback(ret, err))

params

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

objectKey:

  • 类型:字符串
  • 描述:要识别的文件,需是阿里云支持的图片类型。

callback(ret, err)

ret:

  1. {
  2. oper:"complete",
  3. result: {
  4. "Faces":[
  5. {
  6. "Age":29,
  7. "Attractive":0.95,
  8. "Emotion":"HAPPY",
  9. "EmotionConfidence":0.9875330924987793,
  10. "EmotionDetails":{
  11. "ANGRY":0.000016857109585544094,
  12. "CALM":0.012278525158762932,
  13. "DISGUSTED":0.000012325451280048583,
  14. "HAPPY":0.9875330924987793,
  15. "SAD":0.0000388074986403808,
  16. "SCARED":0.000006888585176056949,
  17. "SURPRISED":0.000054363932576961815
  18. },
  19. "FaceAttributes":{
  20. "Beard":"NONE",
  21. "BeardConfidence":1,
  22. "FaceBoundary":{
  23. "Height":928,
  24. "Left":607,
  25. "Top":628,
  26. "Width":894
  27. },
  28. "Glasses":"NONE",
  29. "GlassesConfidence":1,
  30. "Mask":"NONE",
  31. "MaskConfidence":0.9999999403953552,
  32. "Race":"YELLOW",
  33. "RaceConfidence":0.598323404788971
  34. },
  35. "FaceConfidence":0.9704222083091736,
  36. "FaceId":"4199e1985b6d3bb075f0994c82e6d2fd82a274c11ce183e1fdb222dd3aa8c7ce",
  37. "Gender":"MALE",
  38. "GenderConfidence":1,
  39. }
  40. ],
  41. "ImageUri":"oss://image-demo/person.jpg",
  42. "RequestId":"5C3D854A3243A93A275E9C99",
  43. "httpStatusCode":200,
  44. "success":true
  45. } // 识别出的人脸信息,具体参考阿里云文档说明
  46. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require('aliOSS');
  2. aliOSS.detectFace({
  3. objectKey: "lili.jpg",
  4. }, function(ret2, err2) {
  5. if (ret2) {
  6. alert(ret2.result);
  7. }
  8. if (err2) {
  9. alert(err2.msg);
  10. }
  11. });
  12. })

可用性

iOS 系统,Android 系统

可提供的 2.1.0 及更高版

tagImage

图片内容识别、打标,识别图片中的元素,可识别图片中的场景、食物、交通工具等,具体参考,具体配置及开通请参考阿里云智能媒体管理(IMM)

tagImage({params}, callback(ret, err))

params

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

objectKey:

  • 类型:字符串
  • 描述:要处理的文件,需是阿里云支持的图片类型。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper:"complete",
  3. result: {
  4. "Tags": [
  5. {
  6. "TagConfidence": 0.9864643812179565,
  7. "TagLevel": 1,
  8. "TagName": "动物"
  9. },
  10. {
  11. "TagConfidence": 0.9864643812179565,
  12. "TagLevel": 2,
  13. "ParentTagName": "动物",
  14. "TagName": "宠物"
  15. },
  16. {
  17. "TagConfidence": 0.9864643812179565,
  18. "TagLevel": 3,
  19. "ParentTagName": "宠物",
  20. "TagName": "猫"
  21. },
  22. {
  23. "TagConfidence": 0.5677459836006165,
  24. "TagLevel": 4,
  25. "ParentTagName": "猫",
  26. "TagName": "狸花猫"
  27. }
  28. ],
  29. "RequestId": "BB73FB6F-B482-46A8-BD30-76F861F20423",
  30. "ImageUri": "oss://imm-test/testcases/cat.jpg"
  31. }
  32. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.tagImage(
  3. {
  4. objectKey: "food.jpg",
  5. },
  6. function (ret2, err2) {
  7. if (ret2) {
  8. alert(ret2.result);
  9. }
  10. if (err2) {
  11. alert(err2.msg);
  12. }
  13. }
  14. );

可用性

iOS 系统,Android 系统

可提供的 2.1.0 及更高版

url

授权第三方访问,可授权第三方访问文件。

url({params}, callback(ret, err))

params

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

objectKey:

  • 类型:字符串
  • 描述:要授权访问的文件。

expired:

  • 类型:整型
  • 描述:(可选项)链接失效时间,单位:秒,默认 3600 秒

process:

  • 类型:字符串
  • 描述:(可选项)文件为图片时对图片的处理(如缩放等),具体参数请参考阿里云文档

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. url: "https://www....";
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.url(
  3. {
  4. objectKey: "food.jpg",
  5. process: "image/resize,w_200",
  6. },
  7. function (ret2, err2) {
  8. if (ret2) {
  9. alert(ret2.url);
  10. }
  11. if (err2) {
  12. alert(err2.msg);
  13. }
  14. }
  15. );

可用性

iOS 系统,Android 系统

可提供的 2.1.2 及更高版

rename

文件重命名。

rename({params}, callback(ret, err))

params

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

name:

  • 类型:字符串
  • 描述:原文件名。

newName:

  • 类型:字符串
  • 描述:新文件名。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper: "success", //字符串
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.rename(
  3. {
  4. bucketName: "bucket",
  5. name: "pic/a.jpg",
  6. newName: "pic/b.jpg",
  7. },
  8. function (ret, err) {
  9. alert("ret:" + JSON.stringify(ret) + " err:" + JSON.stringify(err));
  10. }
  11. );

可用性

iOS 系统,Android 系统

可提供的 2.1.5 及更高版

createFolder

创建文件夹。

createFolder({params}, callback(ret, err))

params

bucketName:

  • 类型:字符串
  • 描述:(可选项)目标 Bucket 名称,如不设置将使用初始化时的默认 Bucket。该参数用于操作多个 Bucket 时,动态改变目标 Bucket。

name:

  • 类型:字符串
  • 描述:文件夹名称。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. oper: "success", //字符串
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 500, //错误码,数字类型;
  3. msg: "错误描述 "
  4. }

示例代码

  1. var aliOSS = api.require("aliOSS");
  2. aliOSS.createFolder(
  3. {
  4. bucketName: "bucket",
  5. name: "newfolder",
  6. },
  7. function (ret, err) {
  8. alert("ret:" + JSON.stringify(ret) + " err:" + JSON.stringify(err));
  9. }
  10. );

可用性

iOS 系统,Android 系统

可提供的 2.1.5 及更高版