java生成二维码,并在前端展示。

java生成二维码,并在前端展示,扫码实现下载功能。

后端生成二维码以流的形式

 这是以流的形式展示二维码。当然也可以以文件的格式,文件格式就是
 Path path = FileSystems.getDefault().getPath("3.png");
 MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
释放就行
 //text 扫描二维码展示的内容,width宽度,height长度
        public static String generateQRCodeImage(String text, int width, int height) throws WriterException, IOException {
    
    
            QRCodeWriter qrCodeWriter = new QRCodeWriter();

            BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);

            //Path path = FileSystems.getDefault().getPath("3.png");

            ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
         

            //MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);

            MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOutputStream);
            byte[] pngData = pngOutputStream.toByteArray();
            return Base64.encode(pngData );

        }

前端接收二维码并展示

前端代码展示,前端以base64进行回显后端传输的流。
 <img id="img" src = "image">
   $.ajax({
    
    
        url: "${base}/risen/rfb/whglRwgl/qrcode?rfbUuid=${result.rfbUuid!''}",
        type: "post",
        success: function (obj) {
    
    
            $("#img").attr("src",'data:image/png;base64,' + obj);
        },
    })

猜你喜欢

转载自blog.csdn.net/gradonisis/article/details/125748130