首页 > 其他分享 >二维码生成

二维码生成

时间:2024-10-08 21:23:46浏览次数:3  
标签:String formData 生成 二维码 import zxing com

引入qrcode.js  ,根据表单可以自动生成二维码,例如我自己得,但是暂时扫出来不能显示我的文字,只有时间

package com.example.mesproject.Controller;

import com.google.zxing.BarcodeFormat;
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 org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Map;

@RestController
@RequestMapping("/api/qrcode")
public class QRCodeController {

// 生成二维码并返回图片
@PostMapping("/generate")
public ResponseEntity<byte[]> generateQRCode(@RequestBody Map<String, String> formData) throws WriterException, IOException {
// 获取表单提交的数据
String name = formData.get("name");
String process = formData.get("process");
String time = formData.get("time");
String startTime = formData.get("startTime");
String endTime = formData.get("endTime");

// 拼接二维码内容
String qrContent = "员工姓名: " + name + ", 工序: " + process + ", 工时: " + time + ", 开始时间: " + startTime + ", 结束时间: " + endTime;

// 打印二维码内容,便于调试
System.out.println("二维码内容: " + qrContent);

// 生成二维码
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bitMatrix = qrCodeWriter.encode(new String(qrContent.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8), BarcodeFormat.QR_CODE, 300, 300);

// 将二维码转换为字节数组
ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOutputStream);
byte[] pngData = pngOutputStream.toByteArray();

// 设置返回的响应类型为图片
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_PNG);
headers.setContentLength(pngData.length);

return ResponseEntity.ok().headers(headers).body(pngData);
}
}

标签:String,formData,生成,二维码,import,zxing,com
From: https://www.cnblogs.com/yuanxinglan/p/18453056

相关文章

  • 最小生成树专项
    contests-linkA求最短路啊那显然只需要看端点颜色不同的边即可那么依次考虑每条边的贡献一个想法是暴力修改,不过菊花就死了一个想法是把颜色相同且相连的点缩在一起然后求剩下边的min,现在至少剩下两个连通块那根据Boruvka知道,这剩下的最优边必然是MST上的边(对于n个点任意划......
  • AI虚拟主播生成插件中的关键代码!
    AI虚拟主播,作为新媒体领域的创新力量,正逐渐改变着我们的信息传播方式,它们不仅能够模拟真实主播的言行举止,还能通过智能算法生成个性化、高质量的内容。在这背后,离不开一套强大的生成插件,而这套插件中的关键代码则是其核心所在,今天,我们就来揭开AI虚拟主播生成插件的神秘面纱,分......
  • 最近雷军AI配音火出圈,一键免费生成!保姆级教程分享!
    这两天被雷军这个AI配音刷屏了,在某音,B站上大火!特别是一些游戏解说都用他的AI配音,随便发一个视频播放量是杠杠的!也算是一个热点了,这热点可以蹭一波。那这个AI配音到底是怎么做出来的呢?其实非常简单,互联网就是信息差,谁先掌握了第一手信息,谁就可以吃肉!几天就给大家讲下如何......
  • 最近雷军AI配音火出圈,一键免费生成!保姆级教程分享!
    这两天被雷军这个AI配音刷屏了,在某音,B站上大火!特别是一些游戏解说都用他的AI配音,随便发一个视频播放量是杠杠的!也算是一个热点了,这热点可以蹭一波。那这个AI配音到底是怎么做出来的呢?其实非常简单,互联网就是信息差,谁先掌握了第一手信息,谁就可以吃肉!几天就给大家讲下如何......
  • 最近雷军AI配音火出圈,一键免费生成!保姆级教程分享!
    这两天被雷军这个AI配音刷屏了,在某音,B站上大火!特别是一些游戏解说都用他的AI配音,随便发一个视频播放量是杠杠的!也算是一个热点了,这热点可以蹭一波。那这个AI配音到底是怎么做出来的呢?其实非常简单,互联网就是信息差,谁先掌握了第一手信息,谁就可以吃肉!几天就给大家讲下如何......
  • 用Python实现AI生成音乐:通过Magenta与MIDIUtil开启音乐与AI的创作之旅
    解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界引言随着人工智能(AI)的快速发展,机器学习在诸多领域得到了广泛应用,其中之一便是音乐生成。通过结合AI技术,计算机不仅能够分析和识别音乐,还能够自动创作音乐。无论是简单的旋律生成,还是复杂的音乐作品,都可以通过AI......
  • 通过Python构建自动化股票分析工具:从数据抓取到技术分析与买卖信号生成
    解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界前言股票市场是一个高度复杂和波动的领域,投资者常常需要依赖技术分析和数据驱动的策略来做出买卖决策。借助Python,我们可以轻松自动化这些任务,帮助我们分析股票趋势、判断买卖时机,并生成交易信号。本文将详细介......
  • 部署cogview图片生成模型
       CogView3是一种新颖的文本生成图像系统,采用了接力扩散的方式,将生成高分辨率图像的过程分解为多个阶段。通过接力的超分辨率过程,对低分辨率生成结果添加高斯噪声,并从这些带噪声的图像开始扩散。我们的结果显示,CogView3的表现优于SDXL,获胜率达到77.0%。此外,通过对扩......
  • <免费开题>登录网站验证码的生成与识别系统(django)|全套源码+文章lw+毕业设计+课程设计
    <免费开题>登录网站验证码的生成与识别系统(django)|全套源码+文章lw+毕业设计+课程设计+数据库+ppt摘要近年来随着互联网应用技术的飞速发展,为了确保网站系统平台的安全性,各类网站相继推出了验证码应用技术,通过验证码的应用来帮助缓解暴力破解账户密码、垃圾邮件攻击以及在......
  • Java生成条形码(亲测可通过扫码枪扫出)
    Java生成条形码(亲测可通过扫码枪扫出)秃秃爱健身  该博客介绍了如何在Java项目中通过barcode4j库生成Code128条形码,解决了条形码扫不出或美观度不足的问题。提供了相关代码示例,包括Maven依赖、工具类和生成条形码的方法,可以自定义条形码的高度、宽度、是否留白和隐藏文本。摘......