hi!我是小小,今天是本周的第二篇,本篇将会着重讲解关于Java生成二维码的功能

效果图

相关依赖

<!--生成二维码-->
<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

/*** 生成二维码* 图片可解析出访问的支付对应订单号的支付连接* @param orderNo 订单号* @return 返回图片地址*/@Overridepublic 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;}

关于作者

我是小小,双鱼座的程序猿,我们下期再见哦~

END

「 往期文章 」

去哪里了?几部关于IT的剧推荐

Eclipse 官宣,要干掉 VS Code,你怎么看?

建议 | 在中国不是程序猿,不建议你用序列化!

扫描二维码

获取更多精彩

小明菜市场

来源:网络(侵删)

图片来源:网络(侵删)

太强大了 | 一键生成,太强大了……相关推荐

  1. 教你用支付宝一键生成证件照,简单又实用,效果比照相馆的好太多

    教你用支付宝一键生成证件照,简单又实用,效果比照相馆的好太多 在工作和生活中,我们有很多时候需要用到自己的证件照,去照相馆拍照有时候不方便还麻烦,拍摄的效果自己不满意,今天来跟大家分享一下如何用支付宝 ...

  2. nginx中配置angular项目_强大,Nginx配置一键生成

    推荐阅读: 关于 JVM,都有哪些面试最常考的点需要重点掌握? 面试却被 Java 基础难住了?不要怕,我来带你一起手撕面试官阿里一线架构师分享的技术图谱,进阶加薪全靠它 前因 关于Nginx部署.配 ...

  3. 怎么添加本地音乐_原来手机点击这个按钮,就能一键生成音乐电子相册!这也太厉害了...

    哈喽大家好!欢迎来到职场科技!我是你们的好朋友科技兔! 现在大家看到美好的事物都会使用手机随手拍一张.长久以往,相册就保留很多照片,那对于这些照片大家是怎么处理的呢? 其实科技兔会将照片制作成音乐电子 ...

  4. Vivado工程路径太长导致不能生成bit文件

    1.1 Vivado工程路径太长导致不能生成bit文件 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado工程路径太长导致不能生成bit文件: 5)结束语. 1 ...

  5. 存储器空间或者桌面堆_「Folder Tidy」Mac桌面太杂乱,一键归类整理就用它

    相信大部分人的 Mac 电脑中的 「桌面」 和 「下载」两个目录被堆的满满当当,然后自己都看不下去了,才勉强给文件归归类,或者一股脑全扔进一个目录. 如果你也有上述苦恼,并寻求解决方案,不妨试试「Fo ...

  6. IntelliJ IDEA小技巧 —— 代码太乱?一键快速格式化代码

    IntelliJ IDEA小技巧 --  代码太乱?一键快速格式化代码 在使用IDEA的过程中,为了使代码看起来更整齐,可以在设置中定义代码的展示效果. 更改Java等常用代码的展示效果 1.打开ID ...

  7. 【技术贴】MIUI小米桌面图标太乱如何一键刷新桌面排列图标。

    问:MIUI小米桌面图标太乱如何一键刷新桌面排列图标? 答:在编辑模式下,也就是按住某个桌面不松,然后底部会出现一组小工具栏的那个界面,然后用手摇动手机连续三下,即可发现图标排列整齐了.试试吧,找了好 ...

  8. xman的思维导图快捷键_一次性入门大纲笔记神器“幕布”,支持一键生成思维导图...

    很多人都有记笔记的习惯,我们的老师经常教导我们"上课要记笔记".其实老师说的不做,只不过我们大部分人并没有按照老师的要求去做,或者把老师的要求当做一种"作业"来 ...

  9. gtj2018如何生成工程量报表_如何更高效地使用EXCEL,一键生成报表?

    在知乎有过一个投票调查「职场中最应该学的办公软件是什么」,有近七成的人认为,最该学的是 Excel. 为什么要学Excel? 几乎所有行业.公司.岗位,都需要用到Excel. 可能,有小伙伴也许会说, ...

最新文章

  1. 在 Java Web 项目中,Service 层和 Dao 层真的有必要每个类都加上接口吗
  2. 中文分词工具jieba分词器的使用
  3. 反转链表的golang实现
  4. 浅析如何从吸引蜘蛛爬取的角度进行网站内容优化建设
  5. Python「八宗罪」
  6. 笔记-信息化与系统集成技术-商业智能-数据仓库系统
  7. linux 设备驱动程序开发 第3版_Chapter2_The Current Process
  8. 并发工具类(四)线程间的交换数据 Exchanger
  9. HDOJ 4005-The war解题报告
  10. Web jsp开发学习——Servlet提交表单时用法
  11. android申请蓝牙动态权限,Android权限动态申请
  12. ESP32 SIM800L:发送带有传感器读数的文本消息(SMS警报)
  13. java长连接转短连接_HTTP的长连接和短连接转换接口(API)
  14. 特斯拉Model 3进化不止 传统车企到底应该学什么?
  15. BBS中用SSH方式登录添加附件
  16. Python爬虫之Spider类用法简单介绍
  17. Codeforces Round #439C 组合数-The Intriguing Obsession
  18. GitLab分支介绍
  19. 网易云音乐评论墙php源码,网易云音乐热评墙那些令人感慨的句子,哪一句打动了你?...
  20. C++ Lua库 源码编译及使用(VS2019)

热门文章

  1. Android渠道打包技术小结
  2. POJ 3050 Hopscotch
  3. matlab分布式平台
  4. 第二章:Improving On User Commands--22.显示不同时区的时间
  5. 好用又被遗忘的Char,String 方法
  6. Github排序(转载)
  7. 定时任务调度框架实现总结
  8. AngularJS之高级Route【三】(八)
  9. Java 工具包收藏
  10. 《OSPF和IS-IS详解》一第6章 链路状态数据库同步6.1 OSPF数据库同步