如何获取网页向微信后台保存图片返回的media_id

如何获取网页向微信后台保存图片返回的media_id

微信开发文档只说了这个:

http请求方式: POST/FORM,需使用https
https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件):
curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"

我已经可以获取了access_token

但是用POST虽然也返回了,但是网页的链接跳转了

请教各位大神,我是否要用ajax方式获取? 如何获取呢?我用的开发语言是php,请指教,谢谢

返回一个json,解析下,里面有media_id
看图
https://www.zhihu.com/question/27866909

网页的链接跳转 到哪里了

要在你服务器端用httprequest发送文件到微信的api,不能用form设置action直接提交到微信,获取不到返回值,自己找你所使用语言的httprequest如何提交数据,然后表单提交到你的这个页面

http://blog.csdn.net/frankcheng5143/article/details/52460416
群发消息的时候需要把图片先上传并获取meidiaId,这个是流程,建议用后台处理

public function add_material($file_info){
$access_token=get_access_token();
$url="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token={$access_token}&type=image";
$ch1 = curl_init ();
$timeout = 5;
$real_path="{$_SERVER['DOCUMENT_ROOT']}{$file_info['filename']}";
//$real_path=str_replace("/", "\", $real_path);
$data= array("media"=>"@{$real_path}",'form-data'=>$file_info);
curl_setopt ( $ch1, CURLOPT_URL, $url );
curl_setopt ( $ch1, CURLOPT_POST, 1 );
curl_setopt ( $ch1, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch1, CURLOPT_CONNECTTIMEOUT, $timeout );
curl_setopt ( $ch1, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $ch1, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt ( $ch1, CURLOPT_POSTFIELDS, $data );
$result = curl_exec ( $ch1 );
curl_close ( $ch1 );
if(curl_errno()==0){
$result=json_decode($result,true);
//var_dump($result);
return $result['media_id'];
}else {
return false;
}
}

上传成功返回media_id,失败返回false。
这是json格式数据。如果是php的话用json_decode函数转为数组。这样提取出来就可以存入数据或者干其他的用