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

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:17   2855   0

添加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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP