生成二维码主要代码为在步骤1、2中,下边后续步骤3、4、5涉及到具体的业务。要是用该工具类时需要拷贝前两个步骤代码即可。

1、在项目pom.xml文件中引入生成二维码的第三方依赖

<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version>
</dependency>

2、生成二维码的工具类

/*** 二维码生成工具*/
public class QRCodeUtils {private static final int BLACK = 0xFF000000;private static final int WHITE = 0xFFFFFFFF;/*** 根据字符串生成对应的二维码图片png* 大小:300*300* <p>* content:要转换的文字内容* path:生成的二维码图片的绝对路径* filename: 生成后的二维码图片的文件名* Constants.SYS_HOME_QRCODE_FORMAT=“PNG”。我在外部常量类中定义的一个常量,即生成的二维码图片的格式*/public static void buildQuickMark(String content, String path, String filename) {try {BitMatrix byteMatrix = new MultiFormatWriter().encode(new String(content.getBytes(), "iso-8859-1"),BarcodeFormat.QR_CODE, 300, 300);String format = Constants.SYS_HOME_QRCODE_FORMAT;File file = new File(path + "\\" + filename + "." + format);BufferedImage image = toBufferedImage(byteMatrix);if (!ImageIO.write(image, format, file)) {throw new IOException("Could not write an image of format " + format + " to " + file);}} catch (Exception e) {e.printStackTrace();}}/*** 设置二维码格式** @param matrix* @return*/private static BufferedImage toBufferedImage(BitMatrix matrix) {int width = matrix.getWidth();int height = matrix.getHeight();BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);}}return image;}
}//测试将http://127.0.0.1:8888链接生成二维码
public static void main(String[] args) {//设置图片内容String content = "http://127.0.0.1:8888";//设置图片存放位置String path = "D:\\QRCode";//设置生成的图片的名字String filename = "test";QRCodeUtils.buildQuickMark(content, path, filename);System.out.println("创建成功");
}

3、生成的二维码图片

4、生成二维码的业务层代码实现类

/*** 二维码 业务层处理** @author sense*/
@Service
public class SysQRCodeServiceImpl implements SysQRCodeService {@AutowiredSysConfigService sysConfigService;public String getQRCode() {return saveQRCode();}//将生成的二维码保存到服务器,并返回文件名public String saveQRCode(){//首先拿到系统配置中的要转换的二维码的值String configValue = sysConfigService.selectConfigByKey(Constants.SYS_HOME_QRCODE).getConfigValue();String qrCodeName = "QRCode";//生成二维码图片QRCodeUtils.buildQuickMark(configValue,uploadUrl(), qrCodeName);String resultQRCodeName = qrCodeName+"."+Constants.SYS_HOME_QRCODE_FORMAT;return resultQRCodeName;}//设置生成的二维码存放路径public String uploadUrl() {// 根据系统当前日期Date now = new Date();String date = new SimpleDateFormat("yyyyMM").format(now);// 设置图片存放地址String uploadFilePath = SenseConfig.getUploadFilePath();// 判断是否存在地址,如果不存在,按照规则创建文件夹File addr = new File(uploadFilePath);if (!addr.exists()) {addr.mkdirs();}return uploadFilePath;}

5、生成二维码的业务层代码接口

public interface SysQRCodeService {String getQRCode();
}

6、生成二维码的接口,共前端调用,获取生成二维码的图片名

/*** QRCode 生成二维码*/
@RestController
@RequestMapping("/sys/QRCode")
public class SysQRCodeController {@AutowiredSysQRCodeService sysQRCodeService;@RequestMapping()public AjaxResult getQRCode(){return AjaxResult.success(sysQRCodeService.getQRCode());}
}

Java将文件转换成二维码相关推荐

  1. java把URL转换成二维码并保存在指定的位置

    1.首先先导包 <dependency><groupId>net.glxn.qrgen</groupId><artifactId>javase</ ...

  2. 自己制作的视频,如何转换成二维码?

    毫不夸张地说,"视频"是这一届网友最喜欢的冲浪方式.视频里有黄金屋.有理想国.有人世间.有远方和诗.我们不分白天和黑夜地在视频中汲取养分和快乐,就连吃饭.睡觉.上厕所,都时刻保持眼 ...

  3. 谷歌浏览器地址转换成二维码的插件,只需几行代码即可实现

    谷歌浏览器插件,是利用javascript进行编写的.具体代码参考在github里面,这是本人简单编写的一个谷歌浏览器地址转换成二维码的插件,里面的代码思路本文暂时不做解析,只是介绍如何使用这个插件. ...

  4. Android将apk转换成二维码提供给别人扫描并下载

    这两天在网上查找了大量的资料,希望能够将我的Android的apk转换成二维码,提供给客户扫描并下载应用,查找了很久,都没有看到有合适的,他们说的都是要自己提供apk给后台,让后台帮忙弄一个下载链接, ...

  5. WORD段落国英互译,以及段落文字转换成二维码、条形码

    WORD段落转换成多国语言 WORD段落转换成多国语言,转换成二维码.转换成条形码,请跟我操作

  6. react项目中把获取的url转换成二维码

    在项目开发中遇到一个需求就是把后台返回的URL路径转换成二维码,经过像度娘查询之后选用了一种方法,并且已经在项目中成功使用,所以专门来记录下,避免以后忘记,处理步骤如下: 安装该依赖的来源:https ...

  7. 2021/04/29 插件qrcodejs2将后端链接转换成二维码

    背景 需求内有个扫码功能,后端会把链接从接口返回给我,我把收到的链接转换成二维码显示到页面上 步骤 – step1.安装 npm install qrcodejs2 --save – step2. 引 ...

  8. python转换成二维码

    python转换成二维码 准备环境 python生成二维码,需要依赖包qrcode和PIL(二维码的实质就是一个url.) python3安装PIL:pip install PIL python2安装 ...

  9. 字符串 转换成 二维码

    /**将字符串 转换成 二维码 调用 generateQRCode(string) * Created by tangzheng on 2016/8/4. */ public class String ...

  10. 将网址转换成二维码,通过微信扫码访问

    将自己的博客地址转成二维码,微信扫码访问: 二维码生成器 草料二维码生成器网址

最新文章

  1. IOS设计模式第六篇之适配器设计模式
  2. linux服务器崩,Linux系统崩溃最快速的解决方法
  3. android logger的使用
  4. java按钮位置_java窗口按钮位置设置
  5. nboot通过DNW下载并运行eboot.nb0
  6. 批量html转换成excel,Excel批量转为Html,Html转换成Excel - 软件教程网
  7. Linux上搭建nginx,及简单配置
  8. 背叛乔布斯,库克做对了
  9. curl 没有到主机的路由_安装RaspAP将树莓派变身为无线路由器
  10. 任务计划程序设置软件在电脑重启后启动
  11. 微信公众号发起微信支付 c#
  12. 什么是作用域链(源码解析)
  13. Unity3D基础8:C#脚本
  14. 好友伤害_家暴,对一个孩子的伤害到底有多大?
  15. java适配器模式 场景_详解Java适配器模式
  16. Kinect for Windows sdk下载 以及安装时错误的解决方案
  17. 基于STM32设计的数字电子秤
  18. 智飞生物与碧迪医疗战略合作;奥的斯智慧服务实验室完成升级 | 美通企业日报
  19. java 将json写入txt_关于json:在java中将String写入文本文件
  20. 计算机桌面摆桃心,怎样把桌面的图标摆成爱心形状的?(要图片)?

热门文章

  1. 消除无法用内置管理账户打开sticky notes
  2. Windows无法调节显示亮度
  3. happen before
  4. 《抡语》 kong子 (收集)
  5. 统信UOS系统安装mysql_统信UOS系统手动安装分区方案
  6. java puppeteer生成pdf_PuppeteerSharp导出PDF(带页码)
  7. Android 获取系统语言,区分简繁体中文
  8. FineCMS-v5.0.1漏洞审计
  9. Hyper-v 实现与虚拟机共享文件夹
  10. 2021年度总结:天赐良机,曲线入行的大龄程序员?