有奖捉虫:行业应用 & 管理与支持文档专题 HOT

简介

本文档提供关于图片二维码相关的 API 概览以及 SDK 示例代码。
API
说明
二维码识别功能可识别图片中有效二维码的位置及内容,输出图像中二维码包含的文本信息(每个二维码对应的 URL 或文本),并可对识别出的二维码添加马赛克。
二维码生成功能可根据用户指定的文本信息(URL 或文本),生成对应的二维码或条形码。

二维码识别

功能说明

二维码识别功能可识别图片中有效二维码的位置及内容,输出图像中二维码包含的文本信息(每个二维码对应的 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) {
// 获得二维码 base64
var 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
-