700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 阿里云人脸比对API封装

阿里云人脸比对API封装

时间:2021-04-10 22:44:28

相关推荐

阿里云人脸比对API封装

这是根据封装是根据阿里云官方给的Demo进行修改的,当时是因为编写微信小程序云函数需要使用到阿里云人脸比对接口,才对其进行封装的。

记录下来,方便下次使用。

复制下来可以直接使用。

用到的依赖如下,使用npm安装:

requesturlcrypto

/*** 文件说明:阿里云人脸比对API封装*/var request = require('request');var url = require('url');var crypto = require('crypto');var date = new Date().toUTCString()//*** 配置信息* ak_id :阿里云控制台获取的AccessKey* ak_secret :阿里云控制台获取的AccessKeySecret * Api_Url :阿里云控制台获取Api接口地址*/// AccessKeyvar ak_id = '';// AccessKeySecret var ak_secret = '';// APIURLvar Api_Url = ''/*** 读取本地图片并转base64编码*/// 图片1var fs = require("fs");var filePath = "01.jpg";var imageData = fs.readFileSync(filePath);var imageBase64 = imageData.toString("base64");//图片2var fs = require("fs");var filePath = "02.jpg";var imageData = fs.readFileSync(filePath);var imageBase64_2 = imageData.toString("base64");var options = {url: Api_Url,method: 'POST',body: '{"type": "1", "content_1":"' + imageBase64 + '","content_2":"' + imageBase64 + '"}',headers: {'accept': 'application/json','content-type': 'application/json','date': date,'Authorization': ''}};/md5 = function (buffer) {var hash;hash = crypto.createHash('md5');hash.update(buffer);return hash.digest('base64');};sha1 = function (stringToSign, secret) {var signature;return signature = crypto.createHmac('sha1', secret).update(stringToSign).digest().toString('base64');};var body = options.body || '';var bodymd5;if (body === void 0 || body === '') {bodymd5 = body;} else {bodymd5 = md5(new Buffer(body));}var stringToSign = options.method + "\n" + options.headers.accept + "\n" + bodymd5 + "\n" + options.headers['content-type'] + "\n" + options.headers.date + "\n" + url.parse(options.url).path;var signature = sha1(stringToSign, ak_secret);var authHeader = "Dataplus " + ak_id + ":" + signature;options.headers.Authorization = authHeader;// 封装函数function AliFace(options) {let promise = new Promise(function (resolve, reject) {request(options, (error, response, body) => {// 失败if (error) {console.log("error", error)reject()}console.log("step4-response body:", response.statusCode, body)console.log(typeof (body))// 成功// 注意:这里的body是string类型resolve(body)})})return promise;}/*** 调用接口进行测试*/AliFace(options).then(function (res) {console.log(res)})

官方API调试界面:https://face./console

官方文档:/knowledge_detail/53535.html?spm=a2c4g.11186623.6.557.63fc5a17Mvsz17

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。