String access_token = this.getAccessTokenString();
//封装参数
Map<String, Object> parMap = new HashMap<String, Object>();
parMap.put("medicalOrgCode",medicalOrgCode);
parMap.put("departmentCode",departmentCode);
Gson gson = new Gson();
String scene = gson.toJson(parMap);//带参
if(width==null||width==0){
width = 430;//默认
}
String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+access_token;
Map<String,Object> param = new HashMap<>();
param.put("scene", parMap);
param.put("page", "pages/index/index");
param.put("width", width);
param.put("auto_color", false);
Map<String,Object> line_color1 = new HashMap<>();
line_color1.put("r", 0);
line_color1.put("g", 0);
line_color1.put("b", 0);
param.put("line_color", line_color);
System.out.println("调用生成微信URL接口传参:" + param);
MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
HttpEntity requestEntity = new HttpEntity(param, headers);
RestTemplate rest = new RestTemplate();
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(Base64.encodeBase64String(result));
InputStream instreams = new ByteArrayInputStream(result);
String uploadSysUrl = "F:\\upload"+"/";
saveToImgByInputStream(instreams, uploadSysUrl, id+".jpg"); //保存图片到本地(代码没问题)
String resUrl = ossService.uploadObject(instreams, "wxaqrcode/",
id, FileUtils.getFileExt(".jpg")); //上传到阿里云 (代码没问题)
求解决
参数无误,用DHC插件模拟POST请求可以返回二维码图片,只是在保存到本地的时候打开图片,会出现与楼主所说一样的情况。
这里我有个疑问,是不是必须是审核通过已发布的小程序才可以正常调用该接口?
或者方便的话,能分享下您保存到本地的代码吗?
求把getwxacodeunlimit接口的返回值转为图片的那部分代码,万分感谢
access_token 是动态改变的
请问解决了吗,我也遇到了
我也遇到了,解决了吗
这样啊,非常感谢!
对 必须是审核通过的。。。而且appid和页面路径都不能有问题
确定参数是否有误,页面路径的
请问您是怎么解决的?
你看看方法哪错了吧 。。。这是我生成的