//对path进行urlEncode path = UrlEncodeDecodeUtil.urlEnode(path); String url = "https://api.weixin.qq.com/wxa/get_qrcode?access_token={access_token}&path={path}"; //新的业务逻辑 final String imageJpeg = "image/jpeg"; HttpHeaders headers = new HttpHeaders(); InputStream inputStream = null; OutputStream outputStream = null; try { List list = new ArrayList<>(); list.add(MediaType.valueOf(imageJpeg)); headers.setAccept(list); ResponseEntity<byte[]> response = restTemplate.exchange( url, HttpMethod.GET, new HttpEntity<byte[]>(headers), byte[].class,authorization.getAuthorizerAccessToken(),path); byte[] result = response.getBody(); BussinessLogger.printLogger(this,"二维码返回结果result:"+result); // inputStream = new ByteArrayInputStream(result); return result; // File file = new File(System.currentTimeMillis()+".jpeg"); // if (!file.exists()) // { // file.createNewFile(); // } // // outputStream = new FileOutputStream(file); // int len = 0; // byte[] buf = new byte[1024]; // while ((len = inputStream.read(buf, 0, 1024)) != -1) { // outputStream.write(buf, 0, len); // } // outputStream.flush(); }finally { if(inputStream != null){ inputStream.close(); } if(outputStream != null){ outputStream.close(); } }
//controller @GetMapping(value = "qrCode",produces = MediaType.IMAGE_JPEG_VALUE) public Object getQrcode(@RequestParam("appId") String appId, @RequestParam(value = "path",required = false) String path) throws IOException {}