扫码二维码跳转到某个网站

添加maven依赖

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

代码实现

  @GetMapping("/test")
  public void test(HttpServletResponse response){
    int BLACK = 0xFF000000;
    int WHITE = 0xFFFFFFFF;
    String text = "https://www.baidu.com/"; //这里是URL ,扫描之后就跳转到这个界面
    int width = 900;
    int height = 900;
    // 二维码图片格式
    String format = "gif";
    // 设置编码,防止中文乱码
    Hashtable<EncodeHintType, Object> ht = new Hashtable<>();
    ht.put (EncodeHintType.CHARACTER_SET, "UTF-8");
    // 设置二维码参数(编码内容,编码类型,图片宽度,图片高度,格式)
    try {
        BitMatrix bitMatrix = new MultiFormatWriter().encode (text, BarcodeFormat.QR_CODE, width, height, ht);
        // 生成二维码(定义二维码输出服务器路径)
        int b_width = bitMatrix.getWidth ();
        int b_height = bitMatrix.getHeight ();
        // 建立图像缓冲器
        BufferedImage image = new BufferedImage (b_width, b_height, BufferedImage.TYPE_3BYTE_BGR);
        for ( int x = 0; x < b_width; x++ )
        {
            for ( int y = 0; y < b_height; y++ )
            {
                image.setRGB (x, y, bitMatrix.get (x, y) ? BLACK : WHITE);
            }
        }
        ImageIO.write(image,format,response.getOutputStream());
    }catch (Exception e){
           System.out.println(e.getMessage());
    }
}

写完后get请求,界面就可以看到二维码,然后用微信扫一扫即可看到跳转

转载于:https://my.oschina.net/gaomq/blog/1858523

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值