byte二维码在img中展示
发表于|更新于
|浏览量:
睡在哪里都是睡在黑夜里。——贾平凹《废都》
我们使用hutool的工具类生成二维码图片后,如果转为byte数组,返还给前端,我们要放入img中显示
1 | @GetMapping("generateCode") |
直接放到src是不行的,需要在前面加一个data:image/jpeg;base64,

最终变成这样

效果图:

相关推荐
2024-06-06
vue-sax使用cdn引入
等待走运无异于等待死亡。——福特 代码如下: 1234567891011121314151617181920<!DOCTYPE html><html><head> <link href="https://unpkg.com/vuesax@4.0.1-alpha.16/dist/vuesax.min.css" rel="stylesheet"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no"></head><body><div id="app"> <vs-button>Hello World</vs-button></div><script src="https://cdn.jsdelivr.net/...
2024-07-26
使用Console Importer安装lodash并使用
健康和才智是人生两大幸事。——米南德 我今天在逛lodash官方文档,用Console Importer仅需安装时 除了我们一般的使用方式也就是$i("lodash") 12345678$i("lodash")importer.js:2 [$i]: Searching for lodash, please be patient...undefinedimporter.js:2 [$i]: lodash not found, import lodash.js instead.importer.js:2 [$i]: lodash.js is loading, please be patient...importer.js:2 [$i]: lodash.js(https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js) is loaded._.camelCase('Foo Bar');'fooBar' 还可以直接Vue ...
2022-12-19
css attr
过于大方的施舍会导致盗窃——西塞罗 分享一个css函数attr MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/attr attr可以获取我们标签内的属性作为值 例如: 1<p data-foo="hello">world</p> css: 123[data-foo]::before { content: attr(data-foo) " ";} 效果: [data-foo]::before { content: attr(data-foo) " "; } world 除了data-*的自定义属性,也可以获取其他的,例如custom-prefix 123456<style>[custom-prefix]::before { content: attr(custom-prefix);}</style><p custom-prefix="hello"&g...
2024-09-15
Vitest集成github action
精神上最好的避难所还是书本:它们既不会忘了你,也不会欺骗你。——罗曼·罗兰 我们已经知道vitest是一个很好用的单元测试框架,我们今天聊一下如何在github action集成vitest 首先我们创建项目 1234567891011121314151617181920212223242526272829303132333435363738394041424344Last login: Mon Sep 9 16:43:09 on ttys004 The default interactive shell is now zsh.To update your account to use zsh, please run `chsh -s /bin/zsh`.For more details, please visit https://support.apple.com/kb/HT208050.Github-Id-VampireAchao:streampark achao$ cd /Users/achao/IdeaProjects/simple-vitest# 安装vitest...
2026-04-06
oh-my-codex
吾生也有涯,而知也无涯。——庄子 OmX - Oh My codeX(OMX):你的 Codex 不是一个人在战斗OMX 的自我介绍很干脆,也很有“人格”: OmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more. 它像一个在你身后随时扶你一把的“战术教练 + 运行时管家”:不抢 Codex 的方向盘,但把你的驾驶舱升级得更顺手、更稳定、更能跑长任务。 OMX 不是另一个 Codex。它明确站在 Codex 身边,做一个“工作流层(workflow layer)”: OMX is a workflow layer for OpenAI Codex CLI.It keeps Codex as the execution engine… 也就是说——Codex 仍然是那个真正冲向战场、执行工具、写代码、跑命令的执行引擎;OMX 则像一套“作战条令 + 组织体系 + 仪表盘 + 记事本”,让你从“想到哪做到哪”的临时起意,变成一条从澄清到交付的稳定流水线...
2025-05-28
react-router+ant-design菜单页面到快速部署
天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为。——《孟子·告子下》 首先是package.json 123456789101112131415161718192021222324{ "name": "basic", "private": true, "scripts": { "dev": "vite", "build": "tsc && vite build", "serve": "vite preview" }, "dependencies": { "antd": "^5.25.3", "react": "^18.2.0", "react...

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