2 muyeziliang muyeziliang 于 2017.01.01 19:57 提问

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

如何获取网页向微信后台保存图片返回的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,请指教,谢谢

5个回答

caozhy
caozhy   Ds   Rxr 2017.01.01 19:58

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

muyeziliang
muyeziliang 大神,我用的是这种方式 <form name="form" method="POST" form-method="POST" return-type="json" enctype="multipart/form-data" action="https://api.weixin.qq.com/cgi-bin/media/upload?access_token=?=$codes ?>&type=image&method=POST"> <input type="file" name="media" required="true"> <input type="submit" class="submit" id="submit" value="上传图片"> </form>
12 个月之前 回复
muyeziliang
muyeziliang 做了好几个晚上了,怎么查资料也没弄出来,拜托了大神
12 个月之前 回复
muyeziliang
muyeziliang 大神,能详细说一下吗?我想在本页面获得,然后还想用获得的id去上传图文信息,谢谢
12 个月之前 回复
bojie5744
bojie5744   Rxr 2017.01.01 22:37

网页的链接跳转 到哪里了

showbo
showbo   Ds   Rxr 2017.01.02 13:29

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

showbo
showbo 回复半路出家: http://download.csdn.net/download/zwc_csd/9094099
12 个月之前 回复
showbo
showbo 回复半路出家: http://www.tuicool.com/articles/raAvUnj
12 个月之前 回复
muyeziliang
muyeziliang 我是初学者,这个弄不明白,能给个demo吗,我就结贴了
12 个月之前 回复
frankcheng5143
frankcheng5143   2017.01.03 09:49

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

sinat_35134348
sinat_35134348   2017.01.04 11:54

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函数转为数组。这样提取出来就可以存入数据或者干其他的用

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!