Java后端如何生成二维码

为节约服务器资源,一般情况下,不要直接生成海量二维码。

可以考虑,前缀字符,自定义规则生成二维码。

支持自定义二维码大小、二维码logo、颜色等等

前端生成二维码

详见前端开发手册

附件:代码文件下载

​https://caiyun.139.com/m/i?135CmpZ2OwqB7​

演示

代码

复制代码
package com.pusdn.test;

import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.pusdn.PgzApplication;
import com.pusdn.common.config.PgzConfig;
import com.pusdn.common.utils.file.FileUploadUtils;
import com.pusdn.common.utils.spring.SpringUtils;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.awt.*;

@SpringBootTest(classes = PgzApplication.class)
public class QRCodeTest {

    @Test
    public void testQr() {
        String content = "https://pusdn-dev.feishu.cn/wiki/Q3ZpwiZXWiXLpwkv8JZcF0Nwngf?from=from_copylink";
        String logoPath = "/Users/janeyork/PUSDN/Work/XCN/pgz--gf-op-xcn/pgz-sbv-gf-admin/src/test/java/com/pusdn/test/temp.png";// 绝对路经
        // 推荐路经
        String qrPath = FileUploadUtils.getDefaultBaseDir() + "/qrcode/";
        // 或者  String qrPath = System.getProperty("user.home") + "/pusdn/" + "你的路经/";

        // 生成指定url对应的二维码到文件,宽和高都是300像素
        QrCodeUtil.generate(content, 300, 300, FileUtil.file(qrPath + "xxx.jpg"));


        QrCodeUtil.generate(
            content,
            QrConfig.create().setImg(logoPath), //附带logo
            FileUtil.file(qrPath + "xxx2.jpg")
        );



        QrConfig qrConfig = QrConfig.create()
            .setForeColor(Color.BLUE)
            .setBackColor(Color.MAGENTA)
            .setWidth(0)
            .setHeight(0).setMargin(1);
        String asciiArt = QrCodeUtil.generateAsAsciiArt("https://baidu.cn/",qrConfig);
        System.out.println(asciiArt);
    }
}
相关推荐
LayZhangStrive6 分钟前
融360 一面
java·面试·后端开发
城管不管31 分钟前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
Java小白笔记34 分钟前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
爱敲键盘的猴子43 分钟前
深入理解 Java HashMap
java·hashmap
霸道流氓气质44 分钟前
Java开发者AI编程常用MCP、Skills、Rules全景汇总
java·开发语言·ai编程
天涯醉青楼1 小时前
Spring Boot 接口返回 Bean 时字段名“变形”的深度剖析与解决方案
java
步行cgn1 小时前
MyBatis 高级映射与延迟加载完全指南
java·tomcat·mybatis
thefool1122661 小时前
从中序与后序遍历序列构造二叉树
java
凤山老林1 小时前
从 RestTemplate 到 HttpClient 5:Spring Boot HTTP 客户端性能调优与连接池治理
spring boot·后端·http
吴声子夜歌1 小时前
Java面试题——JVM(二)
java·开发语言·jvm