java生成二维码,并在前端展示,扫码实现下载功能。
后端生成二维码以流的形式
这是以流的形式展示二维码。当然也可以以文件的格式,文件格式就是
Path path = FileSystems.getDefault().getPath("3.png");
MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
释放就行
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);
ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
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);
},
})