获取二维码 返回乱码问题
发布于 6 年前 作者 qdeng 7535 次浏览 来自 问答

上面是我调用获取二维码接口后返回的这串乱码,,,我查了下,,说这是图片的二进制流,,

那我应该怎么把它转换成图片呢???

10 回复

问题还没有解决吗

朋友。这个问题很简单,如果是PHP的话,CURL请求时候,把他设置为文件流方式就行了。就是不存储为变量就oK了

curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);//文件流方式输出

后台php通过curl抓取到的文件流写入文件中打不开啊!而且获取速度很慢,写入的文件只有60-80kb,是什么原因啊?

一楼的回答 太精辟了

$fpath = “./uploadd/11.jpg”;  //图片的名称自己定

$file = fopen($fpath,“w”);//打开文件准备写入,$fpath为你在服务器上要保存的文件路径

fwrite($file,$tmpInfo);//写入文件,$jpg就是你获取的二维码图片流

fclose($file);//关闭

直接生成的图片打不开,怎么转换成图片呢?

微信服务器是PHP的 对接JAVA的时候BUG一堆堆的。

 微信提供的http相关类,访问服务器都拿不到图片流

DefaultHttpClient httpClient = new DefaultHttpClient(); 

         HttpPost httpPost=HttpClientConnectionManager.getPostMethod(url);

         HttpEntity entity= new StringEntity(json.toString(),“UTF-8”);

         httpPost.setEntity(entity);

         HttpResponse response = httpClient.execute(httpPost);

         if (response != null) {

              HttpEntity resEntity = response.getEntity();

              System.out.println(EntityUtils.toString(resEntity, “UTF-8”));

         }

{“errcode”:48001,“errmsg”:“api unauthorized hint: [gG5SwA0386vr67!]”}

思路是这样的:获取二维码图片流后要在自己服务器保存成图片文件,然后再调用图片网址。

php关键代码:

$file = fopen($fpath,“w”);//打开文件准备写入,$fpath为你在服务器上要保存的文件路径

fwrite($file,$jpg);//写入文件,$jpg就是你获取的二维码图片流

fclose($file);//关闭

然后你把保存的图片地址返回给小程序调用就行了。

其实图片流你已经取到了  只是现有的函数解析不了 不知道啥情况 你可以直接用他生成一张图片就可以了

回到顶部