首页 > PHP资讯 > 工具库 > 微信公众平台开发上传下载多媒体文件

微信公众平台开发上传下载多媒体文件

工具库
微信公众账号在回复图片、语音、视频的时候,将使用media_id来调用相关文件,很多朋友咨询这个如何开发实现。本文将介绍在微信公众平台开发过程中,如何上传下载多媒体文件。

一、上传多媒体文件

公众号可调用本接口来上传图片、语音、视频等文件到微信服务器,上传后服务器会返回对应的media_id,公众号此后可根据该media_id来获取多媒体。请注意,media_id是可复用的,调用该接口需http协议。

通常,文件上传是通过html表单进行的,但通过CURL可以不经过浏览器,直接在服务器端进行表单的POST提交,完成文件上传功能。

需要注意的是:文件名必须是完整绝对路径,另外需要绝对路径前加上“@”以示区分。

在Windows服务器上,格式示例为:”@F:israeluploadwinter.jpg”,而在Linux服务器上,格式示例为:”@home/israel/upload/winter.jpg”。

http请求方式: POST/FORM

参数说明

下载图片

代码实现

返回HTTP头示例如下

{    "url": "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=My4oqLEyFVrgFF-XOZagdvbTt9XywYjGwMg_GxkPwql7-f0BpnvXFCOKBUyAf0agmZfMChW5ECSyTAgAoaoU2WMyj7aVHmB17ce4HzLRZ3XFTbm2vpKt_9gYA29xrwIKpnvH-BYmNFSddt7re5ZrIg&media_id=QQ9nj-7ctrqA8t3WKU3dQN24IuFV_516MfZRZNnQ0c-BFVkk66jUkPXF49QE9L1l",    "content_type": "image/jpeg",    "http_code": 200,    "header_size": 308,    "request_size": 316,    "filetime": -1,    "ssl_verify_result": 0,    "redirect_count": 0,    "total_time": 1.36,    "namelookup_time": 1.016,    "connect_time": 1.078,    "pretransfer_time": 1.078,    "size_upload": 0,    "size_download": 105542,    "speed_download": 77604,    "speed_upload": 0,    "download_content_length": 105542,    "upload_content_length": 0,    "starttransfer_time": 1.141,    "redirect_time": 0}

下载语音

代码实现

返回HTTP头如下

{    "url": "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=My4oqLEyFVrgFF-XOZagdvbTt9XywYjGwMg_GxkPwql7-f0BpnvXFCOKBUyAf0agmZfMChW5ECSyTAgAoaoU2WMyj7aVHmB17ce4HzLRZ3XFTbm2vpKt_9gYA29xrwIKpnvH-BYmNFSddt7re5ZrIg&media_id=5Idx79V9E3XfBCz_A50gr1a1_klgPpJnb_eq73yz0bn-prhIsNlwI3n6jQgshmWk",    "content_type": "audio/amr",    "http_code": 200,    "header_size": 306,    "request_size": 316,    "filetime": -1,    "ssl_verify_result": 0,    "redirect_count": 0,    "total_time": 0.125,    "namelookup_time": 0.031,    "connect_time": 0.063,    "pretransfer_time": 0.063,    "size_upload": 0,    "size_download": 10470,    "speed_download": 83760,    "speed_upload": 0,    "download_content_length": 10470,    "upload_content_length": 0,    "starttransfer_time": 0.125,    "redirect_time": 0}

可以看出,MP3的语音格式被压缩成AMR格式了。

下载缩略图

实现代码

返回HTTP头如下

{    "url": "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=My4oqLEyFVrgFF-XOZagdvbTt9XywYjGwMg_GxkPwql7-f0BpnvXFCOKBUyAf0agmZfMChW5ECSyTAgAoaoU2WMyj7aVHmB17ce4HzLRZ3XFTbm2vpKt_9gYA29xrwIKpnvH-BYmNFSddt7re5ZrIg&media_id=2RhP0caRKHVOmZO5AKelHkK--vqPPwgUaRp5-WE63dvmmPRWiYVKgvNblIp_gv79",    "content_type": "image/jpeg",    "http_code": 200,    "header_size": 306,    "request_size": 316,    "filetime": -1,    "ssl_verify_result": 0,    "redirect_count": 0,    "total_time": 0.094,    "namelookup_time": 0,    "connect_time": 0.047,    "pretransfer_time": 0.047,    "size_upload": 0,    "size_download": 6057,    "speed_download": 64436,    "speed_upload": 0,    "download_content_length": 6057,    "upload_content_length": 0,    "starttransfer_time": 0.094,    "redirect_time": 0}

至于回复相应的消息,就是利用消息接口或者客服接口,构造成相应的消息就行了,和构造文本,图文消息的方法是一样的。

更多微信公众平台开发 上传下载多媒体文件 相关文章请关注PHP中文网!

工具库

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持45不支持0