小程序码后台无法解析

4257关注13248浏览

我在前端获取token传给后台,后台请求接口后返回的内容无法转换成图片,方法是网上找的,尝试过可以正常转换其他图片和二进制流,不知道问题出在哪了

@ResponseBody

@RequestMapping("/qrTest")

public Map qrTest(Long hotelId, String appId, String token) {

RestTemplate rest = new RestTemplate();

InputStream inputStream = null;

OutputStream outputStream = null;

try {

String url = "https://api.weixin.qq.com/wxa/getwxacode?access_token=" + token;

Map<String, Object> param = new HashMap<>();

param.put("page", "pages/home/home");

param.put("width", 430);

param.put("auto_color", false);

Map<String, Object> line_color = new HashMap<>();

line_color.put("r", 0);

line_color.put("g", 0);

line_color.put("b", 0);

param.put("line_color", line_color);

System.out.println("调用生成微信URL接口传参:" + param);

// MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();

HttpHeaders headers = new HttpHeaders();

headers.setContentType(MediaType.APPLICATION_JSON);

HttpEntity requestEntity = new HttpEntity(param, headers);

ResponseEntity<byte[]> entity = rest.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]);

System.out.println("调用小程序生成微信永久小程序码URL接口返回结果:" + entity.getBody());

byte[] result = entity.getBody();

System.out.println("\r
old:" + Base64.encodeBase64String(result));

inputStream = new ByteArrayInputStream(result);

File file = new File("f:/abc.jpg");

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();

} catch (Exception e) {

System.out.println("调用小程序生成微信永久小程序码URL接口异常");

} finally {

if (inputStream != null) {

try {

inputStream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (outputStream != null) {

try {

outputStream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

retu

展开全部
收起
0回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部