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 到那個頁面,會在哪個頁面顯示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM