SpringBoot生成二維碼的實(shí)現(xiàn)
效果圖
步驟
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
/** * 生成二維碼 * 圖片可解析出訪問(wèn)的支付對(duì)應(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)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. WMLScript的語(yǔ)法基礎(chǔ)2. asp與php中定時(shí)生成頁(yè)面的思路與代碼3. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對(duì)象Application和Session)4. HTML5 Canvas繪制圖形從入門到精通5. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)6. 利用CSS制作3D動(dòng)畫7. jsp文件下載功能實(shí)現(xiàn)代碼8. PHP循環(huán)與分支知識(shí)點(diǎn)梳理9. WML語(yǔ)言的基本情況10. XML入門的常見問(wèn)題(四)
