一、微信图片获取
首先要获得用户发过来的图片,微信公众平台支持接收图片,一条图片消息的格式如下:
<span style="margin:0px;padding:0px;line-height:1.5;color:#0000FF;">gh_13d1a3a7x46a]]> <span style="margin:0px;padding:0px;line-height:1.5;color:#0000FF;">oKaHDjt60aAyPvQmUX3ddyix_zG8]]> 1357543196 <span style="margin:0px;padding:0px;line-height:1.5;color:#0000FF;">image]]> <span style="margin:0px;padding:0px;line-height:1.5;color:#0000FF;">http://mmsns.qpic.cn/mmsns/L4qjYtOibummV7J7pbpWKZTiaRoeicicD151CGsQ5AW761Kmn5Hk83x5lQ/0]]> 5830603629728080261
XML格式讲解
ToUserName 消息接收方微信号,一般为微信公众平台开发微信号FromUserName 消息发送方微信号CreateTime 消息创建时间MsgType 消息类型;图片消息为imagePicUrl 图片链接地址MsgId 消息ID号
这里PicUrl就是图片URL
二、发送图片到接口
在微信接口中代码中获取图片方法如下:接收消息类型中分离出图片类型
public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; logger("R ".$postStr); //extract post data if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $RX_TYPE = trim($postObj->MsgType); switch ($RX_TYPE) { case "image": $resultStr = $this->receiveImage($postObj); break; } logger("T ".$resultStr); echo $resultStr; }else { echo ""; exit; } }
而识别接口的调用方法如下
http://api2.sinaapp.com/recognize/picture/?appkey=0020120430&appsecert=fa6095e123cd28fd&reqtype=text&keyword=http://www.doucube.com.img.800cdn.com/Public/Images/wangluodan.jpg
你可以直接提交微信图片URL
http://api2.sinaapp.com/recognize/picture/?appkey=0020120430&appsecert=fa6095e123cd28fd&reqtype=text&keyword=http://mmsns.qpic.cn/mmsns/wFxOIHALicXicQnmicpXRRkp8URWC1QewPwgH2WdeHf8AYkaOUpdMUzYg/0
复制代码
如果你喜欢整洁一点,可以使用http_build_query生成请求url,以下供参考
<div class="cnblogs_code"style="margin:5px 0px;padding:5px;background-color:#F5F5F5;font-family:'Courier New';border:1px solid #CCCCCC;overflow:auto;color:#333333;white-space:normal;">
<span style="margin:0px;padding:0px;line-height:1.5;color:#FFFFFF;"><span style="margin:0px;padding:0px;line-height:1.5;color:#000000;">