java創(chuàng)建二維碼并賦予url鏈接的功能實現(xiàn)
更新時間:2021年06月23日 15:03:12 作者:小小的碼農哥
這篇文章給大家分享java創(chuàng)建二維碼并賦予url鏈接的功能實現(xiàn),需要獲取要賦值給二維碼的鏈接后綴,通過設置二維碼的訪問路徑等一系列操作,具體實現(xiàn)代碼跟隨小編一起看看吧
首先在pom文件中導入有關依賴
<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version> </dependency>
工具類
public class YmtUtil { public static byte[] getQRCodeImage(String text, int width, int height) throws WriterException, IOException { QRCodeWriter qrCodeWriter = new QRCodeWriter(); BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height); ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream(); MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOutputStream); byte[] pngData = pngOutputStream.toByteArray(); return pngData; }
功能實現(xiàn)
此處是寫在service中的代碼,調用過后就可以在指定的存儲位置中找到對應的二維碼
//獲取要賦值給二維碼的鏈接后綴如 192.168.0.21/erweima String url = erweima; //獲取本機ip地址,也可以找一指定ip地址寫死 InetAddress localhost = StrUtil.getLocalHostExactAddress(); //設置二維碼訪問路徑 String URL= "http://localhost"+ url; //設置二維碼流 qrcode = YmtUtil.getQRCodeImage(URL, 360, 360); final HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.IMAGE_PNG); //設置生成的二維碼存儲地址 linux路徑:(/root/D:/opt/upFiles) window路徑(D:/opt/upFiles)此處使用的是linux路徑 File path = new File("/root/D:/opt/upFiles", 二維碼名稱 + ".jpg"); //將二進制數(shù)組轉為文件 ByteArrayInputStream inputStream = new ByteArrayInputStream(qrcode); MockMultipartFile file = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); file.transferTo(path);
以上就是java創(chuàng)建二維碼并賦予url鏈接的詳細內容,更多關于java創(chuàng)建二維碼的資料請關注腳本之家其它相關文章!
相關文章
特殊數(shù)據結構之使用Java實現(xiàn)單調棧示例
這篇文章主要為大家介紹了特殊數(shù)據結構之使用Java實現(xiàn)單調棧示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09Java高級之HashMap中的entrySet()方法使用
這篇文章主要介紹了Java高級之HashMap中的entrySet()方法使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03詳解springboot整合ehcache實現(xiàn)緩存機制
這篇文章主要介紹了詳解springboot整合ehcache實現(xiàn)緩存機制,ehcache提供了多種緩存策略,主要分為內存和磁盤兩級,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01半小時實現(xiàn)Java手擼網絡爬蟲框架(附完整源碼)
最近在做一個搜索相關的項目,需要爬取網絡上的一些鏈接存儲到索引庫中,自己寫了一個簡單的網絡爬蟲,感興趣的可以了解一下2021-06-06JMeter連接Mysql數(shù)據庫的實現(xiàn)步驟
本文主要介紹了JMeter操作Mysql數(shù)據庫,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12Java數(shù)據類型Integer與int的區(qū)別詳細解析
這篇文章主要介紹了Java數(shù)據類型Integer與int的區(qū)別詳細解析,Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null,int和integer(無論new否)比,都為true,因為會把Integer自動拆箱為int再去比,需要的朋友可以參考下2023-12-12