ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java实现字符串生成二维码图片

2021-07-01 12:00:43  阅读:259  来源: 互联网

标签:map java String 300 二维码 Result 字符串 new response


前言:记录一下后端生成二维码返回给前端的两种方法

方法1

引入依赖

<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.3.0</version>
</dependency>
<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>javase</artifactId>
    <version>3.3.0</version>
</dependency>

接口实现

@RequestMapping(value = "/exportQuickResponseCode",method = RequestMethod.GET)
	 public Result<?> exportQuickResponseCode(String orderId,String workId,HttpServletRequest request, HttpServletResponse response) throws Exception{
		 String msg = "orderId="+orderId+","+"wokId="+workId;
		 String filename = "Users\\hudad\\Pictures\\Saved Pictures\\1.png";//生成的文件名
		 String path = "c:/" + filename;//生成路径

		 try {
			 File file=new File(path);
			 OutputStream ous=new FileOutputStream(file);
			 Map<EncodeHintType,String> map =new HashMap<EncodeHintType, String>();
			 //设置编码 EncodeHintType类中可以设置MAX_SIZE, ERROR_CORRECTION,CHARACTER_SET,DATA_MATRIX_SHAPE,AZTEC_LAYERS等参数
			 map.put(EncodeHintType.CHARACTER_SET,"UTF-8");
			 map.put(EncodeHintType.MARGIN,"2");
			 //生成二维码
			 BitMatrix bitMatrix = new MultiFormatWriter().encode(msg, BarcodeFormat.QR_CODE,300,300,map);
             //response.getOutputStream();响应给前端
			 MatrixToImageWriter.writeToStream(bitMatrix,"png",response.getOutputStream());
             
		 }catch (Exception e) {
			 e.printStackTrace();
		 }
		 return Result.OK();
	 }

   方法2

引入依赖

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.3.4</version>
</dependency>

<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.3.3</version>
</dependency>

实现

public Result<?> rqCode(String ordersId, String workOrderId,HttpServletResponse response)  {
   try {
    QrCodeUtil.generate("ordersId=" + ordersId + "," + "workOrderId=" + workOrderId, 300, 300, "png",response.getOutputStream());
   } catch (IOException e) {
    e.printStackTrace();
   }
   System.out.println();
   return Result.OK();
  }

标签:map,java,String,300,二维码,Result,字符串,new,response
来源: https://blog.csdn.net/Bug_Gou/article/details/118382887

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有