生成二维码 扫描并可下载文件

  • pom.xml 依赖
  • application.yaml
  • Controller
  • ImageBuilderUtils 工具类

适当根据自己的业务需求变通,然后就能轻松使用了,不用再浪费大量时间去写二维码生成

pom.xml 依赖

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

application.yaml

使用了若依 profile 文件路径映射 不是若依的,记得修改映射方式

Controller

   /*** 生成二维码* */@ApiOperation(value = "生成二维码", notes = "")@PostMapping(value = "/qrCode")public AjaxResult qrCode(){try {//若依系统封装的Config  不是若依使用  getProfile() + "/upload"String filePath = RuoYiConfig.getUploadPath();//查询数据库获取最新的apk的信息     根据自己需要调用数据里的数据SysAppVersions newVersion = iSysAppVersionsService.getNewVersionId();if (newVersion.getId()==null)throw new CustomException("没有apk!");//设置二维码图片名称,如果没有DateTool工具类也可以直接使用时间戳 System.currentTimeMillis()String imgName = String.valueOf(newVersion.getId() + DateTool.currentTimestamp());//设置二维码存储路径String path = filePath + "/QRCode/" + imgName + ".png";//本地测试IP+APK存储路径String filename = "http://192.168.10.11:8086"+newVersion.getVersionsSite();//真实使用IP
//            String filename = "https://***"+newVersion.getVersionsSite();//保存二维码地址   profile若依系统映射文件路径方式 newVersion.setVersionsQrcode("/profile/upload/QRCode/" + imgName + ".png");//将生成的二维码地址存入数据库   根据自己需求判断是否需要存储地址    //iSysAppVersionsService.updateVersionsQRcodeById(newVersion.getId(),newVersion.getVersionsQrcode());img(filename, path);return AjaxResult.success("生成二维码成功!");}catch (Exception e){return AjaxResult.error(e.getMessage());}}private void img(String filename, String path) {try {//创建文件夹   如果没有工具类,则使用        //File file = new File(path);//if (!file.exists()) {//    file.mkdirs();//}FileUploadUtils.addFolder(path);//生成二维码ImageBuilderUtils.generateQRCodeImage(filename, path);} catch (WriterException e) {throw new CustomException("WriterException 生成二维码失败,请稍后再试!");} catch (IOException e) {throw new CustomException("IOException 生成二维码失败,请稍后再试!");}}

ImageBuilderUtils 工具类

package com.ruoyi.project.tool.common;import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
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 com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.Hashtable;public class ImageBuilderUtils {/*** 生成二维码* @param filePath* @throws WriterException* @throws IOException*/public static void generateQRCodeImage(String id, String filePath) throws WriterException, IOException {Hashtable hints = new Hashtable();hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.MARGIN, 1);QRCodeWriter qrCodeWriter = new QRCodeWriter();BitMatrix bitMatrix = qrCodeWriter.encode(id.toString(), BarcodeFormat.QR_CODE, 350, 350,hints);Path path = FileSystems.getDefault().getPath(filePath);MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);}}

SpringBoot生成二维码 扫描并可下载文件相关推荐

  1. springboot 生成二维码

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.导入依赖 二.编写配置文件 三.编写代码实现 1 controller层编写 2 Constant编写 3 映射规 ...

  2. java生成二维码扫描跳转到指定的路径URL

    java生成二维码扫描跳转到指定的路径URL 导入依赖 <dependency><groupId>com.google.zxing</groupId><art ...

  3. java 系统生成二维码实现扫码登录 springboot 生成二维码

    文章目录 前言 一.生成二维码 二.业务流程和代码逻辑梳理 总结 前言 使用框架  springboot  自己系统生成二维码,到前端网站,以及APP扫码登录流程,业务流程讲解梳理.也为自己做记录. ...

  4. iOS-长按识别二维码/生成二维码/扫描二维码

    参考:http://www.jianshu.com/p/997cec333822 参考:https://github.com/nglszs/BCQRcode 方式一:长按识别二维码 #import & ...

  5. app生成二维码,扫描二维码

    一.扫描二维码 1.依赖: 1.1.添加到你的 Project Build.gradle:allprojects {repositories {...maven { url 'https://jitp ...

  6. 通过AppStore上的app生成二维码扫描下载

    1.通过苹果手机上的AppStore搜索已经上架的app,点击app可以在右上角看到一个分享转发似的按钮,点击按钮可以看到拷贝链接,通过这可以得到你app再AppStore上的下载链接,然后百度二维码 ...

  7. java springboot生成二维码图片

    java生成二维码图片 Maven依赖 <!--生成二维码--> <dependency><groupId>com.google.zxing</groupId ...

  8. 怎么让拍摄的视频生成二维码,扫描后即可观看?

    二维码相信大家都非常熟悉了,随着智能手机的普及,二维码可以说遍布生活的方方面面,这个由众多黑格子组成的图案,森罗万象,包括扫码付款,扫码登录,扫码看视频等众多用途. 视频类的二维码更是运用广泛,像公司 ...

  9. JS生成二维码以及点击下载二维码

    JS生成二维码 效果 扫描二维码可访问指定链接或当前网站链接,内容可以自己更改 "复制链接",点击按钮复制当前网站链接 如何获取当前网站链接 源码 textarea{opacity ...

最新文章

  1. python测试脚本 进制转换_使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)...
  2. 关于机器学习,你应该至少学习这8个落地案例|干货集锦
  3. 你了解的继承方式html,法定继承、遗嘱继承、遗赠,这三种房产过户方式你了解多少?...
  4. vs debug 调试 快捷键
  5. 常用几个UITableView,UICollectionView  UIScrollView关键点
  6. python中对象的定义_全面了解python中的类,对象,方法,属性
  7. NXP RT1062 flashloader下载程序到RAM执行
  8. 窗方法原理之矩形窗及汉明窗
  9. 【知识兔】Excel多级联动关联下拉菜单的制作,一看就会!
  10. 山石sg6000e1700配置手册_Hillstone SG-6000安装手册.pdf
  11. 2023北京邮电大学计算机考研信息汇总
  12. android qq 退出帐号,大家手机上的QQ平常用完退不退出帐号
  13. office2016、office365和office其它版本JH
  14. 计算机图形学c#版pdf,计算机图形学的数学工具与C#实现.pdf
  15. HTML基础之创建简单表格
  16. string.Compare用法
  17. 亲身经历:一次sql缺少where条件的惨案,绩效奖金差点没啦~
  18. 人工智能数学基础:利用导数判断函数单调性、凹凸性、极值、最值和描绘函数图形
  19. 报考计算机专业高校专项自荐信,2017年高校专项计划自荐信
  20. python电子签章_签名python的搜索结果-阿里云开发者社区

热门文章

  1. Spring AOP 学习总结
  2. 计算机打字测速,电脑的打字测速软件分享
  3. 地图上制作线路的动画_使用百度地图API制作线路轨迹播放
  4. Kotlin: Classifier ‘Demo1‘ does not have a companion object, and thus must be initialized here
  5. idea查看类层级hierarchy快捷键
  6. python大数据就业方向_大数据专业未来的就业方向有哪些?[黑马程序员]
  7. 河北楚纳-防电瓶车进入电梯报警系统
  8. 微信小程序Java登录流程(ssm实现具体功能和加解密隐私信息问题解决方案)...
  9. 当极客 (Geek) 遇到呆瓜 (Nerd)
  10. 洛谷 P4246 [SHOI2008]堵塞的交通 线段树