×

微信开发中使用curl上传永久素材

Kalet Kalet 发表于2017-02-20 17:04:03 浏览195 评论0

抢沙发发表评论

前言

微信开发,需要使用的素材(如图片、视频)必须先上传到微信服务器,通过微信服务器返回的meida_id在腾讯系域名内使用。当然可以直接使用代码来实现上传请求,获取微信服务器返回的media_id,但是这样的方式略显麻烦,幸亏微信开发可以通过curl命令直接上传素材获取返回的url。

curl下载安装

curl是一种命令行工具,作用是发出网络请求,得到和提取返回的数据。在curl工具下载页根据系统下载相应的版本,比如Windows系统下载win32版本,需要注意的是,如果没有使用ssl协议(https),直接下载无ssl版本即可,比如curl-7.16.0-win32-nossl.zip。如果使用了ssl协议(https),就得下载ssl版本,比如curl-7.16.0-win32-ssl.zip,使用ssl版本还需要下载OpenSSL软件(安装exe即可)实现SSL协议。

curl上传素材

下载完成的curl压缩包解压之后,打开dos命令行工具(cmd),从dos进入curl根目录(cd..)。输入curl命令即可上传素材到微信服务器。命令如下:

curl -F media=@1.jpg -F type=image "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=LJLJ3oEHi8rcuJnUv6RryYHpiVybevrtR4upY_W5_gqXLDhtAHj2-qaxYzfMKe2gSQtO4mPsmoWmu9LUPvLv7cNtnmtC1ezZj2lxwqd9U1eY35rTeuhoyufpcfmf4XgLLXZdAAACOQ"
  • 1
  • 1

命令需要注意两点:①上传素材的地址相对于curl目录,路径要确认无误,否则curl会找不到素材,一般把素材放在curl目录中。②什么微信公众号使用该素材,就得用该微信公众号的appid和appsecret生成的access_token,否则在微信公众号中无法使用该素材。

在dos中返回的字符串

{"media_id":"1YTbzmBpzu9_MDbee6yPlfvtqNbJufAbqJmsb3kkFA","url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/gMreo1rjy9LIGD9GVeNyWmPHV2nzmiaBXhs8qVaDloQ4iaIhHhIwJAu4ZnmuyIPFqvGCZDacTn748eq4iaBmYXj3Q\/0?wx_fmt=jpeg"} 其中的media_id就可以在微信中唯一标记我们上传的永久素材。

群贤毕至

访客