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);
    }
}
相关推荐
团子的二进制世界4 分钟前
G1垃圾收集器是如何工作的?
java·jvm·算法
long3169 分钟前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
独断万古他化19 分钟前
【SSM开发实战:博客系统】(三)核心业务功能开发与安全加密实现
spring boot·spring·mybatis·博客系统·加密
rannn_11136 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
灵感菇_38 分钟前
Java HashMap全面解析
java·开发语言
qq_124987075339 分钟前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
短剑重铸之日1 小时前
《设计模式》第十一篇:总结
java·后端·设计模式·总结
若鱼19191 小时前
SpringBoot4.0新特性-Observability让生产环境更易于观测
java·spring
倒流时光三十年1 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
觉醒大王1 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法