springboot整合hutool生成二维码
一、导依赖
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.10</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version> </dependency>
二、工具类
import cn.hutool.core.io.FileUtil; import cn.hutool.extra.qrcode.QrCodeException; import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrConfig; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.awt.*; import java.io.IOException; @Service public class QRCodeService { // 自定义参数,这部分是Hutool工具封装的 private static QrConfig initQrConfig() { QrConfig config = new QrConfig(300, 300); // 设置边距,既二维码和背景之间的边距 config.setMargin(3); // 设置前景色,既二维码颜色(青色) config.setForeColor(Color.CYAN); // 设置背景色(灰色) config.setBackColor(Color.GRAY); return config; } /** * 生成到文件 * * @param content * @param filepath */ public void createQRCode2File(String content, String filepath) { QrCodeUtil.generate(content, initQrConfig(), FileUtil.file(filepath)); } /** * 生成到流 * * @param content * @param response */ public void createQRCode2Stream(String content, HttpServletResponse response) { try { QrCodeUtil.generate(content, initQrConfig(), "png", response.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } } }
三、controller调用
String userName = user.getUserName();
此处注意路径要写到具体图片名,写文件夹会报错
//生成到图片文件
qrCodeService.createQRCode2File(userName,"D://img//11.jpg");
//
生成到流
qrCodeService.createQRCode2Stream(userName, response);
return 到那个页面,会在哪个页面显示