您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 阜新分类信息网,免费分类信息发布

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

2025/12/12 4:29:55发布43次查看
微信公众账号在回复图片、语音、视频的时候,将使用media_id来调用相关文件,很多朋友咨询这个如何开发实现。本文将介绍在微信公众平台开发过程中,如何上传下载多媒体文件。
一、上传多媒体文件
公众号可调用本接口来上传图片、语音、视频等文件到微信服务器,上传后服务器会返回对应的media_id,公众号此后可根据该media_id来获取多媒体。请注意,media_id是可复用的,调用该接口需http协议。
通常,文件上传是通过html表单进行的,但通过curl可以不经过浏览器,直接在服务器端进行表单的post提交,完成文件上传功能。
需要注意的是:文件名必须是完整绝对路径,另外需要绝对路径前加上“@”以示区分。
在windows服务器上,格式示例为:”@f:\israel\upload\winter.jpg”,而在linux服务器上,格式示例为:”@home/israel/upload/winter.jpg”。
http请求方式: post/form
http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=access_token&type=type
参数说明
参数
是否必须
说明
access_token

调用接口凭证
type

媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)
media

form-data中媒体文件标识,有filename、filelength、content-type等信息
上传图片
返回结果
{    type: image,     media_id: qq9nj-7ctrqa8t3wku3dqn24iufv_516mfzrznnq0c-bfvkk66jukpxf49qe9l1l,     created_at: 1389793969}
上传语音
返回结果
{    type: voice,     media_id: 5idx79v9e3xfbcz_a50gr1a1_klgppjnb_eq73yz0bn-prhisnlwi3n6jqgshmwk,     created_at: 1389794760}
上传视频
返回结果
{    type: video,     media_id: jm-wq0nxta_on1qnydqrp03dcsb0r2t5gchdm3qnkbmmre1wbaorvjnqtbrhvk9-,     created_at: 1389794768}
上传缩略图
返回结果
{    type: thumb,     thumb_media_id: 2rhp0carkhvomzo5akelhkk--vqppwguarp5-we63dvmmprwiyvkgvnblip_gv79,     created_at: 1389794771}
参数说明
参数
描述
type
媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb,主要用于视频与音乐格式的缩略图)
media_id
媒体文件上传后,获取时的唯一标识
created_at
媒体文件上传时间戳
注意事项
上传的多媒体文件有格式和大小限制,如下:
Ÿ  图片(image): 128k,支持jpg格式
Ÿ  语音(voice):256k,播放长度不超过60s,支持amr\mp3格式
Ÿ  视频(video):1mb,支持mp4格式
Ÿ  缩略图(thumb):64kb,支持jpg格式
媒体文件在后台保存时间为3天,即3天后media_id失效。对于需要重复使用的多媒体文件,可以每3天循环上传一次,更新media_id。
二、下载多媒体文件
公众号可调用本接口来获取多媒体文件。请注意,视频文件不支持下载,调用该接口需http协议。
下载文件使用获取图片数据,写入新文件的方法。
http请求方式: get
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=access_token&media_id=media_id
参数说明
参数
是否必须
说明
access_token

调用接口凭证
media_id

媒体文件id
下载图片
代码实现
返回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}
至于回复相应的消息,就是利用消息接口或者客服接口,构造成相应的消息就行了,和构造文本,图文消息的方法是一样的。
更多微信公众平台开发  上传下载多媒体文件 。
阜新分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product