昨天接到了一个需求是通过jave服务端动态生成二维码,提供给前端调用,这里就介绍一下生成的过程。

我这里是一个springboot服务,springboot服务的jar包就不贴了 这里只粘贴二维码用到的依赖。

1、pom依赖,这里只用到了两个依赖

        <!--工具类组件-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.3.5</version>
            <scope>compile</scope>
        </dependency>
        <!--生成二维码组件-->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.3.3</version>
        </dependency>

2、control代码

    @ApiOperation(value = "获取二维码")
    @RequestMapping(value = "/getQrCode/{id}" ,method = {RequestMethod.GET ,RequestMethod.POST})
    public void getQrCode(@PathVariable String id, HttpServletResponse response) throws Exception {

        response.setDateHeader("Expires", 0);
        response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
        response.addHeader("Cache-Control", "post-check=0, pre-check=0");
        response.setHeader("Pragma", "no-cache");
        response.setContentType("image/jpeg");

//        QrConfig qrConfig = QrConfig.create().setImg(FileUtil.file("logo.jpg"));

        // 生成指定url对应的二维码到文件,宽和高都是300像素
//        QrCodeUtil.generate(url, qrConfig, "jpg", response.getOutputStream());
        QrCodeUtil.generate("https://blog.csdn.net/lp840312696", 300, 300, "jpg", response.getOutputStream());
    }

3、前端代码

<html>

<body>

<img src="http://localhost:6100/employee/getQrCode/1" >
		
</body>

</html>

测试一下!

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐