热搜:NVER node 开发 php

关于最近(2016年)新微信文档开发的问题,跪求CSDN版本里面的大神们来看看

2024-07-20 20:30:02
关于最近(2016年)新微信文档开发的问题,跪求CSDN版本里面的大神们来看看

   2016年新版的微信开发文档,要求调用的接口都是https协议下的,然而本人在项目开发中,遇到了一个问题 就是在
本服务器上面上传图片素材的时候,通过CURL扩展无法实现对https协议的数据传输,导致了接口调用出现 media data
is missing 这个问题,而在官方中,没有给出一个具体的数据类型,我不知道微信服务器接收的数据格式是否和以前
那个http协议下CURL扩展能轻松返回给你一个json数据格式,并通过media_id 进行下一步操作,我尝试了很多方法
fie_get_contents   用过把文件变为二进制文件传输给微信服务器,json格式的 然而都没有效果,


   求PHP版本里面的大神来看看!!!


回复讨论(解决方案)

这是我去年写的一个上传素材库的接口

 //上传永久素材地址    const UPLOADIMAGE =  "https://api.weixin.qq.com/cgi-bin/material/add_material?";    function upload_curl_pic($file){			$file	=	"@".dirname(DATA_DIR)."/data/temp/".$file;		$fields	=	array("media" => $file);		$media_id = $this->http_postform(self::UPLOADIMAGE.'access_token='.$this->access_token, $fields);		return $media_id;	}/*	*		form表单上传永久素材文件	*		return media_id=>素材id	*/	public function http_postform($url, $data = null){		$curl = curl_init();				curl_setopt($curl, CURLOPT_URL, $url);				curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);				curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);				if (!empty($data)){						curl_setopt($curl, CURLOPT_POST, 1);						curl_setopt($curl, CURLOPT_POSTFIELDS, $data);				}				curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);				$output = curl_exec($curl);				curl_close($curl);				return $output;		}


刚刚试了试 没问题呀 实质上她要求你通过curl 的form表单方式上传  类似与html中的form文件上传一样 需要设置filename、filelength、content-type等信息

不知道你程序怎么写的 感觉微信的接口没怎么变啊,两年钱的写接口还在用,没发现你说的问题,你指的是哪个接口?

现在的新的素材  上传临时和永久的素材 都不是用这种方式了  而且 这种方式 curl我试过啊  ,2016年的新的接口跟你这种调用方式不同了   https:   我试了下 curl 对http有效,   但是对于https就挂了    好郁闷。

本人环境问题 ,导致CURL扩展没法使用 。