Node.js Qr

Node.js生成二维码插件

  • qr-image
  • qrcode

qr-image

qr-image是Node.js平台的二维码生成器,支持UTF-8,生成图片格式包括png、svg、eps、pdf。

$ npm i -S qr-image

载入

const qr = require("qr-image");

生成图片二维码,返回字符串形式的图片数据。

qr.image(text, [ec_level | options])
qr.imageSync(text, [ec_level | options])
参数描述
text二维码文本内容
ec_level容错率水平,可选L(低)、M(中)、Q(高)、H(最高),默认为M(中)。
options图片选项,对象格式。
图片选项描述
ec_level容错率水平,默认为M中等。
type图片类型,可选值png、svg、pdf、eps,默认png。
size图片大小,仅限png和svg图片。默认为5。
margin空白外间距像素值,默认为1。
customize仅限png
parse_url-

生成图片二维码并写入文件

const qr = require("qr-image");
const fs = require("fs");

exports.user = async (ctx, next)=>{
    const text = ctx.query.text;
    //获取二维码图片地址
    let imgbuf;
    const filepath = `public/qr/${text}.png`;
    if(fs.existsSync(filepath)){
        imgbuf = fs.readFileSync(filepath);
    }else{
        try{
            imgbuf = qr.image(text||"", {type:"png"});
            const stream = fs.createWriteStream(filepath);//todo create write fail
            imgbuf.pipe(stream);
        }catch(e){
            ctx.status = 414;
            ctx.set("Content-Type", "text/html");
            ctx.body = ("414 Request-URI Too Large");
        }
    }
    ctx.status = 200;
    ctx.type = "image/png";
    ctx.body = imgbuf;
};
4933701-9c5ea11698646194.png
二维码名片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值