有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

简介

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

二维码识别

功能说明

二维码识别功能可识别图片中有效二维码的位置及内容,输出图像中二维码包含的文本信息(每个二维码对应的 URL 或文本),并可对识别出的二维码添加马赛克。

请求示例1:上传时识别

<!-- html 页面 DOM 元素 -->

<!-- 选择要上传的文件 -->
<input id="fileSelector" type="file" />
<!-- 点击按钮上传 -->
<input id="submitBtn" type="submit" />
function identifyQrcode_put(file) {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459
var config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
// 通过input组件选择文件得到 file 代码省略
cos.putObject({
Bucket: config.Bucket,
Region: config.Region,
Key: '上传二维码.png', // 对象文件名,例如:folder/document.jpg,可以设置为本地文件的名称file.name
Body: file, // file 是 input[type="file"]标签选择本地文件后得到的 file 对象
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);
}
});
}

document.getElementById('submitBtn').onclick = function (e) {
var file = document.getElementById('fileSelector').files[0];
if (!file) {
document.getElementById('msg').innerText = '未选择上传文件';
return;
}
identifyQrcode_put(file);
};

参数说明

参数名称
描述
类型
是否必选
Bucket
存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String
Key
对象文件名,例如:folder/document.jpg。
String
Body
文件内容,一般传入选择的文件file对象
File/Blob
Pic-Operations
详情请参见 图像修复处理参数
JsonString

回调函数说明

function(err, data) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果 详情请参见 二维码识别
Object

请求示例2:下载时识别

function identifyQrcode_get() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459
cos.request({
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', // 存储桶,必须字段
Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing
Method: '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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果 详情请参见 二维码识别
Object

二维码生成

功能说明

二维码生成功能可根据用户指定的文本信息(URL 或文本),生成对应的二维码或条形码。

示例代码

function generateQrcode() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459
var config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
cos.request({
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', // 存储桶,必须字段
Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing
Method: 'GET', // 固定值
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();

参数说明

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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果 详情请参见 图片二维码生成
Object

相关链接