微信小程序写的真垃圾,我也遇到了这个问题
微信小程序-获取二维码--将获取到的二维码存到服务器本地[代码]//获取token[代码][代码]String result1 = HttpTool.get([代码][代码]"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="[代码][代码]+Constant.NATIVE_APP_ID+[代码][代码]"&secret="[代码][代码]+Constant.NATIVE_APP_SECRET);[代码][代码]String access_token = JSONObject.parseObject(result1).getString([代码][代码]"access_token"[代码][代码]);[代码][代码]if[代码][代码](CheckTool.isString(access_token)) {[代码][代码] [代码][代码]Map<String, Object> params = [代码][代码]new[代码] [代码]HashMap<>();[代码][代码] [代码][代码]params.put([代码][代码]"scene"[代码][代码], [代码][代码]"test"[代码][代码]);[代码][代码] [代码][代码]params.put([代码][代码]"page"[代码][代码], [代码][代码]"pages/index/index"[代码][代码]);[代码][代码] [代码][代码]params.put([代码][代码]"width"[代码][代码], [代码][代码]430[代码][代码]);[代码][代码] [代码][代码]//这里result看上去是一个文件二进制流,直接输出是乱码[代码][代码] [代码][代码]String result = HttpTool.post2([代码][代码]"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="[代码][代码]+access_token, params);[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]System.out.println(result);[代码][代码] [代码][代码]//将返回的数据保存到本地[代码][代码] [代码][代码]File targetFile = [代码][代码]new[代码] [代码]File([代码][代码]"D:\\"[代码][代码]); [代码][代码] [代码][代码]if[代码][代码](!targetFile.exists()){ [代码][代码] [代码][代码]targetFile.mkdirs(); [代码][代码] [代码][代码]} [代码][代码] [代码][代码]FileOutputStream out = [代码][代码]new[代码] [代码]FileOutputStream([代码][代码]"D:\\upload\\3.png"[代码][代码]);[代码][代码] [代码][代码]out.write(result.getBytes());[代码][代码] [代码][代码]out.flush();[代码][代码] [代码][代码]out.close();[代码][代码] [代码] [代码] [代码][代码]} [代码][代码]catch[代码] [代码](Exception e) {[代码][代码] [代码][代码]// TODO Auto-generated catch block[代码][代码] [代码][代码]e.printStackTrace();[代码][代码] [代码][代码]}[代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]System.out.println([代码][代码]"获取access_token错误"[代码][代码]);[代码][代码]}[代码]生成的图片文件无法打开,请问我应该如何将返回的数据保存到本地呢?
2018-12-06