SpringBoot生成二维码的实现

网友投稿 658 2023-03-02

SpringBoot生成二维码的实现

SpringBoot生成二维码的实现

效果图

步骤

maven依赖

com.google.zxing

javase

3.3.0

工具类

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 WriterExaiJUdception, IOException {

QRCodeWriter qrCodeWriter = new QRCodeWriter();

BitMatrix bitMatrix = qrCodeWriter.enhttp://code(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

/**

* 生成二维码

* 图片可解析出访问的支付对应订单号的支付连接

* @param orderNo 订单号

* @return 返回图片地址

http:// */

@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;

}

扩展

局域网调试

线上调试

切换ip

# 指定IP(防止ip转发获取的是内网ip) file.upload.ip=127.0.0.1

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:app 开发方式(app开发的几种方式)
下一篇:怎么编写小程序插件(小程序插件是什么意思)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~