<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringBoot 二維碼生成

      一、基于Google開發(fā)工具包ZXing生成二維碼

      1、引入需要的依賴

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

      2.具體代碼實(shí)現(xiàn)

      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.Path;
      import static java.nio.file.FileSystems.getDefault;
      
      /**
       * @project 
       * @Description
       * @Author songwp
       * @Date 2022/8/25 11:07
       * @Version 1.0.0
       **/
      public class QRCodeGenerator {
      
          /*
           * text - 內(nèi)容
           * width - 二維碼寬度
           * height - 二維碼高度
           * filePath - 二維碼存放位置
           */
          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 = getDefault().getPath(filePath);
              MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
          }
      
          /*
           * 測(cè)試方法
           * */
          public static void main(String[] args) {
              try {
                  generateQRCodeImage("http://www.rzrgm.cn/songweipeng'", 350, 350, "D:\\photo\\QRTest.png");
              } catch (WriterException e) {
                  e.printStackTrace();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
      }

      3.效果顯示

       

       二、基于開源的Hutool工具生成二維碼

      1、引入需要的依賴

       <!--二維碼開發(fā)工具集-->
              <dependency>
                  <groupId>cn.hutool</groupId>
                  <artifactId>hutool-all</artifactId>
                  <version>4.6.10</version>
              </dependency>
       
       
              <!-- zxing生成二維碼 -->
              <dependency>
                  <groupId>com.google.zxing</groupId>
                  <artifactId>core</artifactId>
                  <version>3.3.3</version>
              </dependency>
       
              <dependency>
                  <groupId>com.google.zxing</groupId>
                  <artifactId>javase</artifactId>
                  <version>3.3.3</version>
              </dependency>

      2.利用Bean的形式顯示配置并注入QrConfig,如下代碼所示:

      import cn.hutool.extra.qrcode.QrConfig;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      
      import java.awt.*;
      
      /**
       * @project 
       * @Description
       * @Author songwp
       * @Date 2022/8/25 11:21
       * @Version 1.0.0
       **/
      @Configuration
      public class QRCode {
          @Bean
          public QrConfig qrConfig(){
              QrConfig qrConfig=new QrConfig();
              qrConfig.setBackColor(Color.white.getRGB());
              qrConfig.setForeColor(Color.black.getRGB());
              return qrConfig;
          }
      }

      3.編寫業(yè)務(wù)實(shí)現(xiàn)類

      import cn.hutool.extra.qrcode.QrCodeUtil;
      import cn.hutool.extra.qrcode.QrConfig;
      import org.springframework.stereotype.Service;
      
      import javax.annotation.Resource;
      import javax.servlet.http.HttpServletResponse;
      import java.io.File;
      import java.io.IOException;
      
      /**
       * @project 
       * @Description
       * @Author songwp
       * @Date 2022/8/25 11:22
       * @Version 1.0.0
       **/
      @Service
      public class QRService {
          @Resource
          private QrConfig qrconig;
      public void generateFile(String content, File file){ //生成到本地文件 QrCodeUtil.generate(content, qrconig, file); } //輸出到流 public void generateStream(String content, HttpServletResponse response) throws IOException { QrCodeUtil.generate(content,qrconig,"png",response.getOutputStream()); } }

      4.編寫QRController控制器類中進(jìn)行調(diào)用,如下代碼所示:

      import com.songwp.service.impl.QRService;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.web.bind.annotation.*;
      import javax.servlet.http.HttpServletResponse;
      import java.io.IOException;


      /**
      * @project
      * @Description
      * @Author songwp
      * @Date 2022/8/24 16:11
      * @Version 1.0.0
      **/
      @RestController
      @RequestMapping("/user")
      public class UserController{

      @Autowired
      private QRService qrService;

      @RequestMapping("/qrCode")
      public void generateV3(String content, HttpServletResponse servletResponse) throws IOException {
      qrService.generateStream(content,servletResponse);
      }

      5.postman調(diào)用測(cè)試:

      posted @ 2022-08-25 11:42  [奮斗]  閱讀(829)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲开心婷婷中文字幕| 国内久久人妻风流av免费| 熟女人妻视频| 一区二区三区精品不卡| 春色校园综合人妻av| 华人在线亚洲欧美精品| 精品国产乱码久久久久APP下载| 国产精品成人中文字幕| 亚洲 a v无 码免 费 成 人 a v| 国产香蕉97碰碰久久人人| 亚洲一区二区无码影院| 久久精品国产成人午夜福利| 麻豆国产高清精品国在线| 国产成a人片在线观看视频下载 | 欧美日韩一区二区三区视频播放| 国产69精品久久久久777| 三台县| 亚洲熟女一区二区av| 国产精品日韩中文字幕熟女| 99久久综合精品五月天| 亚洲av日韩av一区久久| 18禁极品一区二区三区| 樱花草视频www日本韩国| 手机看片AV永久免费| 精品人妻中文字幕在线| 亚洲精品一区二区三区蜜臀| 这里只有精品免费视频| 亚洲一二三四区中文字幕| 人妻激情偷一区二区三区| 久久精品亚洲成在人线av麻豆| 国产精品中文字幕在线| 九九热免费在线观看视频| 日韩乱码人妻无码中文字幕视频 | 日韩不卡在线观看视频不卡| 一区二区三区岛国av毛片| 各种少妇wbb撒尿| 国产午夜一区二区在线观看| 国产成人亚洲老熟女精品| 国产老妇伦国产熟女老妇高清| 国产v亚洲v天堂a无码| 又爽又黄又无遮挡的激情视频|