您的位置:首页 > 移动开发 > 微信开发

获取微信小程序二维码,返回一堆乱码后,该怎么办?

2017-12-16 12:23 621 查看
 因为很多人不知道,获取小程序二维码之后,得到一串乱码的数据之后,该怎么办。所有今天写一篇。希望对你们有帮助。

    

//先获access_token
public  static String getAccessToken(){
String result=HttpXmlClient.get("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+secret);
String access_token="";
JSONObject jsonObj = JSONObject.fromObject(result);
if(jsonObj.has("access_token")){
access_token=jsonObj.getString("access_token");

}
return access_token;
}

//获取小程序码
public  static void getQRCode(String id) throws IOException{
Map<String, Object> paramMap=new HashMap();

String access_token=getAccessToken();

paramMap.put("scene", Integer.parseInt(id));
paramMap.put("page","pages/ExchangeCommodity1/ExchangeCommodity1" );
paramMap.put("width", 400);
paramMap.put("auto_color",false);
//{"r":"0","g":"0","b":"0"}
Map<String, String> colorMap = new HashMap<String, String>();
colorMap.put("r", "0");
colorMap.put("g", "0");
colorMap.put("b", "0");
paramMap.put("line_color",colorMap);

HttpResponse execute = HttpRequest.post("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" +access_token).body(JSONUtil.toJsonStr(paramMap)).execute();//因为小程序返回的是一个图片。所以我们要用HttpResponse去接收,从而获取到他的 reqBodyBytes里的内容。(注:这里很多人会使用String去接收,如果使用String去接收,就会默认把图片转换为字节,就如同用文本去打开图片,结果就是一堆乱码。)

           

 FileImageOutputStream imageOutput = new FileImageOutputStream(new File(“E:\\qrCode.png”));//打开输入流

   imageOutput.write(execute.bodyBytes(), 0, execute.bodyBytes().length);//将byte写入硬盘

   imageOutput.close();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息