简介
本文档提供关于图片二维码相关的 API 概览以及 SDK 示例代码。
二维码识别
功能说明
二维码识别功能可识别图片中有效二维码的位置及内容,输出图像中二维码包含的文本信息(每个二维码对应的 URL 或文本),并可对识别出的二维码添加马赛克。
请求示例1:上传时识别
<!-- html 页面 DOM 元素 --><!-- 选择要上传的文件 --><input id="fileSelector" type="file" /><!-- 点击按钮上传 --><input id="submitBtn" type="submit" />
function identifyQrcode_put(file) {var config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */};// 通过input组件选择文件得到 file 代码省略cos.putObject({Bucket: config.Bucket,Region: config.Region,Key: '上传二维码.png',Body: file, // file 是 input[type="file"]标签选择本地文件后得到的 file 对象Headers: {'Pic-Operations':'{"is_pic_info": 1, "rules": [{"fileid":"test.jpg","rule":" QRcode/cover/0"}]}',},onProgress: function (progressData) {console.log('onProgress', JSON.stringify(progressData));},}, function (err, data) {console.log('CIExample1:', err || data);});}document.getElementById('submitBtn').onclick = function (e) {var file = document.getElementById('fileSelector').files[0];if (!file) {document.getElementById('msg').innerText = '未选择上传文件';return;}identifyQrcode_put(file);};
参数说明
参数名称 | 类型 | 描述 | 是否必填 |
Key | String | 此处的 Key 为对象键,对象键是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg | 是 |
Body | File/String | 上传的内容 | 是 |
PicOperations | Json/String | 图片持久化处理信息 | 是 |
返回结果说明
请求示例2:下载时识别
function identifyQrcode_get() {var config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */};var key = '二维码图片.png';var host = config.Bucket + '.cos.' + config.Region + '.myqcloud.com/' + key;var url = 'https://' + host;cos.request({Method: 'GET',Key: key,Url: url,Query: {'ci-process': 'QRcode'},},function(err, data){console.log(err || data);});}identifyQrcode_get();
参数说明
参数名称 | 类型 | 描述 | 是否必填 |
Key | String | 此处的 Key 为对象键,对象键是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为doc/pic.jpg | 是 |
返回结果说明
二维码生成
功能说明
二维码生成功能可根据用户指定的文本信息(URL 或文本),生成对应的二维码或条形码。
示例代码
function generateQrcode() {var config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */};var host = config.Bucket + '.cos.' + config.Region + '.myqcloud.com';var url = 'https://' + host;cos.request({Method: 'GET',Key: '',Url: url,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;// 比如可拼接前缀直接展示在 img 里// document.querySelector('#img').src = 'data:image/jpg;base64,' + imgBase64;}});}generateQrcode();
参数说明
参数名称 | 类型 | 描述 | 是否必填 |
qrcode-content | String | 可识别的二维码文本信息 | 是 |
mode | Int | 生成的二维码类型,可选值:0或1。0为二维码,1为条形码,默认值为0 | 是 |
width | String | 指定生成的二维码或条形码的宽度,高度会进行等比压缩 | 是 |
返回结果说明
参数名称 | 类型 | 描述 | 父节点 |
err | 请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码 | Object | - |
- statusCode | 请求返回的 HTTP 状态码,例如200、403、404等 | Number | - |
- headers | 请求返回的头部信息 | Object | - |
data | 请求成功时返回的对象,如果请求发生错误,则为空 | Object | - |
- statusCode | 请求返回的 HTTP 状态码,例如200、403、404等 | Number | - |
- headers | 请求返回的头部信息 | Object | - |
- RequestId | 请求的唯一 ID | String | - |
- Response | - | Object | - |
- - ResultImage | 二维码图片 base64 数据 | String | - |