为节约服务器资源,一般情况下,不要直接生成海量二维码。
可以考虑,前缀字符,自定义规则生成二维码。
支持自定义二维码大小、二维码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);
}
}