java生成带logo二维码
发表于|更新于
|浏览量:
人生如路。须在荒凉中走出繁华的风景来。——七堇年
代码很简单,需要用到hutool
我这边logo是网络地址,实际开发中可以使用本地地址
1 | QrCodeUtil.generatePng("二维码实际的值", QrConfig.create().setImg(ImgUtil.getImage(URLUtil.url(/img/oss/2020-06-01/head.jpg)))) |
然后这里的返回值就是byte[]我们可以返回给前端
当然,也推荐使用客户端生成二维码,这样避免了网络传输带来的损耗
简单场景和安卓等java客户端应用可以用这个方法
相关推荐
2023-12-18
quartz工具类含倒计时
一个人有无成就,决定于他青年时期是不是有志气。——谢觉哉 分享一个自己写的Quartz工具类,可以轻松实现倒计时功能: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import cn.hutool.core.date.DateUtil;import lombok.SneakyThrows;import lombok.experimental.UtilityClass;import org.dromara.streamquery.stream.core.collection.Lists;import org.quartz.*;import org.quartz.core.jmx.JobDataMapSupport;import org.quartz.impl.StdSchedulerFactory;import org.quart...
2021-05-23
springboot默认跳转/error页面变更
宁鸣而死,不默而生。——胡适 宁鸣而死,不默而生。——胡适 在开发中我们经常看到这样一个页面 意思是告诉你,没有映射到/error对应的视图 这个是从哪里出现的呢? 我们找到org.springframework.boot.autoconfigure.web.servlet.error包下面 这里我们看到ErrorMvcAutoConfiguration,因为springboot自动装配就是这些xxxAutoConfiguration去完成的 打开一看,发现:诶?!这里有这样一段代码 这段代码告诉我们,如果在没注入ErrorViewResolver并且注入了DispatcherServlet这个bean的情况下,则注入一个叫DefaultErrorViewResolver的bean 如果你现在就想知道怎么修改默认的/error路径映射? 那可以直接注入一个ErrorViewResolver 在你的任意一个配置类中,我建议是放到Mvc配置类中 12345678910111213141516171819202122232425/** * web配置类 * * @auth...
2022-05-10
连接流时如果是并行流
日出之美便在于它脱胎于最深的黑暗。——辛夷坞 代码: 1234System.out.println(Stream.concat(Stream.of(1), Stream.of(1)).isParallel()); // falseSystem.out.println(Stream.concat(Stream.of(1).parallel(), Stream.of(1)).isParallel()); // trueSystem.out.println(Stream.concat(Stream.of(1), Stream.of(1).parallel()).isParallel()); // trueSystem.out.println(Stream.concat(Stream.of(1).parallel(), Stream.of(1).parallel()).isParallel()); // true 结论:连接的两个流,只要其中有一个是并行流,最终的流则为并行流 顺...
2021-03-29
groupingBy
老老实实最能打动人心。——莎士比亚 你们可能知道Collectors.groupingBy是干嘛的了,没错分组 例如我们需要把用户根据age分组 1234SecureRandom random = new SecureRandom();List<User> users = random.ints(20,25).parallel().mapToObj(r -> User.builder().name(Faker.instance(Locale.CHINA).name().username()).age(r).build()).limit(20).collect(Collectors.toList());Map<Integer, List<User>> listMap = users.stream().collect(Collectors.groupingBy(User::getAge));listMap.forEach((k, v) -> System.out.println(k + ":" + v)); ...
2025-06-15
mqcloud
教育难,难就在回到常识。——钱理群 https://github.com/sohutv/mqcloud MQCloud:企业级分布式消息队列运维与管理平台在现代互联网业务架构中,消息队列(Message Queue, MQ)是解耦系统、提升吞吐、保障高可用的重要基础设施。随着业务规模的扩大,如何高效、统一、可视化地管理海量的 MQ 集群,成为了企业运维和开发者的共同痛点。 @sohutv/mqcloud 正是为了解决这一问题而生的开源项目。它提供了丰富的管理能力和友好的可视化界面,助力企业轻松应对分布式消息中间件的运维难题。 MQCloud 是什么?MQCloud 是搜狐视频团队开源的一套针对 RocketMQ 的分布式消息队列运维与管理平台。它集成了多项运维、监控、诊断、权限和告警等功能,让 MQ 管理从繁琐变得高效、可控和可视。 主要特性包括: 支持多集群管理:可统一管理多个 RocketMQ 集群。 强大的可视化界面:消息、主题、消费组、Broker、队列等一目了然。 权限与安全:细粒度的用户权限和访问控制。 监控与告警:实时监控消息堆积、消费延迟等,异常...
2020-11-08
建造者模式
外观往往和事物的本身完全不符,世人都容易为表面的装饰所欺骗。——《威尼斯商人》 这两天开发中用到了建造者模式,写起来感觉挺爽的 以前我们创建一个javabean 12345678910111213141516171819202122232425262728293031/** * 自定义pojo */public static class Teacher { private String name; private Integer age; @Override public String toString() { return "Teacher{" + "name='" + name + '\'' + ", age=" + age + '}'; } public Strin...

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