最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot生成二維碼的實(shí)現(xiàn)

 更新時(shí)間:2020年12月08日 08:54:30   作者:瑞 新  
這篇文章主要介紹了SpringBoot生成二維碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

效果圖

在這里插入圖片描述

步驟

maven依賴

<!--    生成二維碼-->
    <dependency>
      <groupId>com.google.zxing</groupId>
      <artifactId>javase</artifactId>
      <version>3.3.0</version>
    </dependency>

工具類

package com.bennyrhys.mall.util;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;

/**
 * 描述:   生成二維碼工具
 */
public class QRCodeGenerator {


  public static void generateQRCodeImage(String text, int width, int height, String filePath)
      throws WriterException, IOException {
    QRCodeWriter qrCodeWriter = new QRCodeWriter();
    BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
    Path path = FileSystems.getDefault().getPath(filePath);
    MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
  }

  public static void main(String[] args) {
    try {
      generateQRCodeImage("Hello World", 350, 350, "E:/JAVA/mall/src/main/resources/images/QRTest.png");
    } catch (WriterException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

service

/**
   * 生成二維碼
   * 圖片可解析出訪問的支付對應(yīng)訂單號(hào)的支付連接
   * @param orderNo 訂單號(hào)
   * @return 返回圖片地址
   */
  @Override
  public String qrcode(String orderNo) {
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();

    String address = ip + ":" + request.getLocalPort();
    String payUrl = "http://" + address + "/pay?orderNo=" + orderNo;
    try {
      QRCodeGenerator.generateQRCodeImage(payUrl, 350, 350, Constant.FILE_UPLOAD_PATH + orderNo + ".png");
    } catch (WriterException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    String pngAddress = "http://" + address + "/images-dev/" + orderNo + ".png";
    return pngAddress;
  }

擴(kuò)展

 局域網(wǎng)調(diào)試

在這里插入圖片描述

線上調(diào)試

切換ip
# 指定IP(防止ip轉(zhuǎn)發(fā)獲取的是內(nèi)網(wǎng)ip) file.upload.ip=127.0.0.1

到此這篇關(guān)于SpringBoot生成二維碼的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot生成二維碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

洱源县| 永靖县| 山阳县| 新建县| 祥云县| 惠水县| 镇平县| 剑川县| 新乡市| 呈贡县| 永平县| 潢川县| 南川市| 盐津县| 镇远县| 长泰县| 寿宁县| 南昌县| 高邑县| 奉节县| 龙门县| 浠水县| 兖州市| 鹤壁市| 定边县| 宾川县| 定襄县| 乌鲁木齐县| 青州市| 宁波市| 新乐市| 高邮市| 东丰县| 宁陕县| 秦皇岛市| 灵丘县| 罗田县| 文化| 育儿| 柳江县| 泰兴市|