方法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(); }