java生成带logo二维码
发表于|更新于
|浏览量:
人生如路。须在荒凉中走出繁华的风景来。——七堇年
代码很简单,需要用到hutool
我这边logo是网络地址,实际开发中可以使用本地地址
1 | QrCodeUtil.generatePng("二维码实际的值", QrConfig.create().setImg(ImgUtil.getImage(URLUtil.url(/img/oss/2020-06-01/head.jpg)))) |
然后这里的返回值就是byte[]我们可以返回给前端
当然,也推荐使用客户端生成二维码,这样避免了网络传输带来的损耗
简单场景和安卓等java客户端应用可以用这个方法
相关推荐
2025-06-15
mqcloud
教育难,难就在回到常识。——钱理群 https://github.com/sohutv/mqcloud MQCloud:企业级分布式消息队列运维与管理平台在现代互联网业务架构中,消息队列(Message Queue, MQ)是解耦系统、提升吞吐、保障高可用的重要基础设施。随着业务规模的扩大,如何高效、统一、可视化地管理海量的 MQ 集群,成为了企业运维和开发者的共同痛点。 @sohutv/mqcloud 正是为了解决这一问题而生的开源项目。它提供了丰富的管理能力和友好的可视化界面,助力企业轻松应对分布式消息中间件的运维难题。 MQCloud 是什么?MQCloud 是搜狐视频团队开源的一套针对 RocketMQ 的分布式消息队列运维与管理平台。它集成了多项运维、监控、诊断、权限和告警等功能,让 MQ 管理从繁琐变得高效、可控和可视。 主要特性包括: 支持多集群管理:可统一管理多个 RocketMQ 集群。 强大的可视化界面:消息、主题、消费组、Broker、队列等一目了然。 权限与安全:细粒度的用户权限和访问控制。 监控与告警:实时监控消息堆积、消费延迟等,异常...
2022-07-18
x-easypdf
三月桃花,两人一马,明日天涯。——七堇年 分享一个PDF框架:https://gitee.com/dromara/x-easypdf 一个用搭积木的方式构建pdf的框架(基于pdfbox) 官方文档:https://dromara.gitee.io/x-easypdf/#/ API文档:https://apidoc.gitee.com/dromara/x-easypdf/ 项目概述 x-easypdf基于pdfbox二次封装,极大降低使用门槛,以组件化的形式进行pdf的构建。简单易用,帮助开发者快速生成pdf文档。 参考示例:https://dromara.gitee.io/x-easypdf/#/md/%E5%8F%82%E8%80%83%E7%A4%BA%E4%BE%8B 创建文档 12345678// 定义文档路径String filePath = OUTPUT_PATH + "testBuild.pdf";// 构建文档XEasyPdfHandler.Document.build( // 构建空白页 XEasyPdf...
2022-01-31
MP-p6spy日志分析打印
我们杀人不用愤怒,而用笑。——尼采。 按照官方文档步骤 首先引入GAV: 12345<dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>最新版本</version></dependency> 然后是修改配置: 注意此处协议前加上p6spy 驱动也要改为P6SpyDriver 1234567spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver username: xxx password: xxx url: jdbc:p6spy:mysql://localhost:3306/ruben?autoReconnect=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useUnicode=true&char...
2020-06-13
Map和List的碰撞
大家都知道map和list是我们常用的数据结构 比如hashmap和arraylist 在实际开发中,有时会遇到一个问题,比如加了个需求,原来的数据库字段不够用,需要加字段,这样会导致很多处做修改,而我们如果灵活使用map和list就可以一个用字段以json的格式存放很多数据,但这种形式也有弊端,比如难以维护、难以拓展,所以一般情况下,能加字段,加表的话就先别用这种形式 但如果遇到不能动数据库的情况,就可以以这种方式(你甚至可以以这种方式把整个项目存放到一条数据里):joy:废话不多说: 12345678910111213141516171819202122232425262728293031323334package com.ruben;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestM...
2021-01-11
BCryptPasswordEncoder
今眼前的迷雾已然消散,自由、祖国,唯有你们才是我的信念。——雨果 在web开发中我们可以使用org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder来进行密码加密 这里写一个Demo说明一下基本姿势 123456789101112131415161718192021222324252627282930313233package com.ruben;import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;import java.util.Collections;import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;/** * @ClassName: BCryptPasswordEncoderDemo * @Description: 我还没有写描述 * @Date: 2021/1/11 0011 20:...
2023-12-10
可变参数传入数组
通常是不想成名的人反而成名。——霍姆斯 今天遇到这样一个场景: 1234 @Overridepublic void deleteAllById(@Nonnull Iterable<? extends String> strings) { stringRedisTemplate.opsForHash().delete(SmCacheConst.STATE_MACHINE, );} 这里的org.springframework.data.redis.core.HashOperations#delete如下: 1 Long delete(H key, Object... hashKeys); 那这里我如果直接将Iterable转为数组,能正常运转吗? 也就是说,如果我是: 12Object[] array = StreamSupport.stream(strings.spliterator(), false).toArray(); stringRedisTemplate.opsForHash().delete(SmCac...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog