1.导入依赖

<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>javase</artifactId>
    <version>3.2.1</version>
</dependency>

2.上代码

请求接口
QRCODE_DEFAULT_WIDTH, QRCODE_DEFAULT_HEIGHT 分别是宽和高
@RequestMapping("/qrCode")
public void qrCode( HttpServletResponse response) {
    logger.info("请求:/visions/qrCode -开始处理");
    logger.info("/visions/qrCode - request:"+itv);

    try {
        String imgUrl = "";
        BitMatrix bitMatrix = generateQRCodeImage(imgUrl, QRCODE_DEFAULT_WIDTH, QRCODE_DEFAULT_HEIGHT);
        MatrixToImageWriter.writeToStream(bitMatrix,"png",response.getOutputStream());
    }catch (Exception e){
        logger.info("二维码生成失败",e);
    }
}


生成二维码方法
public static BitMatrix generateQRCodeImage(String text, int width, int height)
        throws WriterException {
    QRCodeWriter qrCodeWriter = new QRCodeWriter();
    Map hint = new HashMap();
    hint.put(EncodeHintType.MARGIN, 2);
    BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height,hint);
    return bitMatrix;
}

3.测试

0NOX__P4F({`317~NJ6X54C.png

4.显示到页面指定位置

在前端中调用接口即可
<!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
        <body>
            <img src="/QrTest">
        </body>
    </html>

效果:

20210218184707133.png

分类: 技术 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录