简介
本文档提供关于图片二维码相关的 API 概览以及 SDK 示例代码。
注意:
COS Node.js SDK 版本需要大于等于 v2.11.2。
二维码识别
功能说明
二维码识别功能可识别图片中有效二维码的位置及内容,输出图像中二维码包含的文本信息(每个二维码对应的 URL 或文本),并可对识别出的二维码添加马赛克。
请求示例1:上传时识别
function identifyQrcode_put() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/8629const filePath = 'temp-file-to-upload'; // 本地文件路径const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */};// 通过input组件选择文件得到 file 代码省略cos.putObject({Bucket: config.Bucket,Region: config.Region,Key: '上传二维码.png', // 对象文件名,例如:folder/document.jpgBody: fs.createReadStream(filePath), // 上传文件对象,必填ContentLength: fs.statSync(filePath).size, // 上传文件对象大小,当上传Body为文件流且需要正确展示上传进度时必填Headers: {'Pic-Operations': JSON.stringify({is_pic_info: 1,rules: [{ fileid: 'test.jpg', rule: 'QRcode/cover/0' }]}),},onProgress: function (progressData) {console.log('onProgress', JSON.stringify(progressData));},}, function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}});}identifyQrcode_put();
参数说明
回调函数说明
function(err, data) { ... }
请求示例2:下载时识别
function identifyQrcode_get() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459cos.request({// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijingMethod: 'GET', // 固定值Key: '1/jpg', // 对象文件名,例如:folder/document.jpg。Query: {'ci-process': 'QRcode' // 固定值},},function(err, data){if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}});}identifyQrcode_get();
参数说明
cos.request 方法参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | String | 是 | |
Method | 固定值:GET | String | 是 |
Key | 对象文件名,例如:folder/document.jpg。 | String | 是 |
Query | 其他请求参数 | Container | 是 |
Query 参数说明:
参数名称 | 描述 | 类型 | 是否必填 |
ci-process | 万象处理能力,二维码识别固定为 QRcode | String | 是 |
回调函数说明
function(err, data) { ... }
二维码生成
功能说明
二维码生成功能可根据用户指定的文本信息(URL 或文本),生成对应的二维码或条形码。
示例代码
function generateQrcode() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459var config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */};cos.request({// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijingMethod: 'GET', // 固定值Query: {'ci-process': 'qrcode-generate', /* 必须,对象存储处理能力,二维码生成参数为 qrcode-generate */'qrcode-content': '二维码文案', /* 必须,可识别的二维码文本信息 */// mode: 0, /* 非必须,生成的二维码类型,可选值:0或1。0为二维码,1为条形码,默认值为0 */width: 200, /* 必须,指定生成的二维码或条形码的宽度,高度会进行等比压缩 */},},function(err, data){if (!err) {// 获得二维码 base64var imgBase64 = data.Response.ResultImage;console.log(imgBase64);}});}generateQrcode();
参数说明
cos.request 方法参数说明:
参数名称 | 参数描述 | 类型 | 是否必填 |
Bucket | 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | String | 是 | |
Method | 固定值:GET | String | 是 |
Query | 其他请求参数 | Container | 是 |
Query 参数说明:
参数名称 | 参数描述 | 类型 | 是否必填 |
ci-process | 数据万象处理能力,二维码生成参数为 qrcode-generate | String | 是 |
qrcode-content | 可识别的二维码文本信息 | String | 是 |
mode | 生成的二维码类型,可选值:0或1。0为二维码,1为条形码,默认值为0 | Integer | 否 |
width | 指定生成的二维码或条形码的宽度,高度会进行等比压缩 | String | 是 |
回调函数说明
function(err, data) { ... }