java后台生成并下载二维码
java后台生成并下载二维码(以二进制流的形式输出)
前提业务要求:前台页面展示数据,有下载按钮,点击下载,下载对应数据的二维码。
在pom.xml文件中添加依赖
<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version><scope>compile</scope>
</dependency>
<dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.3</version><scope>compile</scope>
</dependency>
Controller的写法(生成二维码并以流的形式输出到浏览器)
@RestController
@RequestMapping(value = "/web")
public class webTestController {@RequestMapping("/test")public void dowanload(HttpServletRequest request, HttpServletResponse response) throws Exception {//二维码中包含的信息String content = "姓名:一叶知秋\n博客:https://www.cnblogs.com/jing5464";Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();// 指定编码格式hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");// 指定纠错级别(L--7%,M--15%,Q--25%,H--30%)hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);// 编码内容,编码类型(这里指定为二维码),生成图片宽度,生成图片高度,设置参数BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 200, 200, hints);// 二维码名称String fileName = "一叶知秋的二维码.png"String userAgent=request.getHeader("User-Agent");if (userAgent.contains("MSIE") || userAgent.contains("Trident") || userAgent.contains("Edge")) {//IEfileName = java.net.URLEncoder.encode(fileName, "UTF-8");} else {fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌/火狐}//设置请求头response.setHeader("Content-Type","application/octet-stream");response.setHeader("Content-Disposition", "attachment;filename=" + fileName );OutputStream outputStream = response.getOutputStream();MatrixToImageWriter.writeToStream(bitMatrix, "png", outputStream);outputStream.flush();outputStream.close();}
访问地址:http://ip地址+端口号+访问方法路径
如:http://192.168.0.1:8080/test
java后台生成并下载二维码相关推荐
- Java实现生成和解析二维码
Java实现生成和解析二维码 文章目录 Java实现生成和解析二维码 一.建立项目 二.创建工具类 三.创建启动类 一.建立项目 首先需要创建一个普通的 Maven 项目,在这里我用的是 google ...
- 前端生成、下载二维码
前台生成.下载二维码 点击查看按钮,弹出二维码弹框 查看按钮 <el-button type="text" @click="useqrcode(scope.row) ...
- QRCode 生成和下载二维码
使用注意事项: 1.url必须带通信协议 2.生成二维码前必须先清空二维码,不然会重复生成二维码(文章最后) 1.引入插件QRCode QRCode.js 是一个用于生成二维码的 JavaScript ...
- Vue3项目生成并下载二维码,关于vue-qr.vue与qrcode.vue插件之间的区别
1.vue-qr.vue与qrcode.vue大致区别 vue-qr.vue:体积较大,大概4M左右,可以给二维码添加中心logo,生成二维码为img标签,可下载 qrcode.vue:体积较小,不能 ...
- Java以IO流和文件流,生成、下载二维码
场景 在系统中生成一个二维码,用户保存下来并分享出去,其他人扫描之后跳到我们的一个活动详情页,查看此活动的内容. 从以上的需求中,可以提炼出以下几点: 当用户点击生成二维码的时候,我们要拿到用户生成的 ...
- 只需3个步骤,轻松解决程序员在Java中生成、扫描二维码难题
条形码包含有关产品或公司的信息,以机器可读的形式直观地表示.条码广泛用于跟踪货物和库存管理.我们可以在 WPF 应用程序中轻松生成各种类型的条码.二维码广泛用于分享重要信息.对于不同的要求,您可能希望 ...
- vue:实现前端生成并下载二维码(使用qrcodejs2插件)
需求 点击按钮下载二维码,并命名为"奶绿走糖-二维码". HTML <button @click="getPersonCode()">下载二维码&l ...
- vue引用qrcodejs2生成、下载二维码、复制到剪贴板
使用的vue2.x版本,UI框架为ant design vue 1.X版本 1.场景:页面需要展示二维码并且需要下载二维码的功能 效果图: 引用插件: yarn add qrcodejs2@0.0.2 ...
- java后台获取微信分享二维码 并返回给前端
最近公司业务需求 微信小程序需要分享 从后台请求生成二维码图片 并显示 给大家分享一下 经验 第一步 :获得 微信token(这个token两个小时会过期 所以需要token生成相对应的二维码) St ...
最新文章
- python argv 详解_Python3 sys.argv[ ]用法详解
- 百度CTO王海峰:百度Paddle已支持超过70个主流的模型
- 成为Web开发大师你必须知道的7件事情
- question: student_link
- 计算机视觉算法工程师 笔试,深度学习算法工程师笔试题目
- 机器学习中数据集的拆分
- Spring应用程序与JNDI连接池的集成测试
- 异常来自 hresult:0x800a03ec_肺癌早期不是悄无声息,一旦出现这3个“异常”,十有八九是肺癌...
- from表单iframe原网页嵌入
- 机动车c1科三考试语言灯光,c1科目三灯光模拟考试
- 在AWS RDS SQL Server中恢复数据
- javascript笔记——js面试问题
- echarts饼图显示百分比
- 经验分享:如何免费合并两个pdf文件
- 使用 dva 如何配置异步加载路由组件
- 第二次作业-语言和文法
- Windows Subsystem for Android (WSA) 下载:在 Windows 11 上运行 Android 应用
- Proteus+VSPD实现仿真stm32虚拟串口
- Python数据可视化——图型参数介绍
- python词云分析--媒体近期的讨论热点