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

公众号在使用接口时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。通过本接口,公众号可以上传或下载多媒体文件。但请注意,每个多媒体文件(media_id)会在上传、用户发送到微信服务器3天后自动删除,以节省服务器资源。

上传多媒体文件

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

接口调用请求说明

http请求方式: POST/FORM
http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件):
curl -F media=@test.jpg "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等信息

返回说明

正确情况下的返回JSON数据包结果如下:

{"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}
参数 描述
type 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb,主要用于视频与音乐格式的缩略图)
media_id 媒体文件上传后,获取时的唯一标识
created_at 媒体文件上传时间戳

错误情况下的返回JSON数据包示例如下(示例为无效媒体类型错误):

{"errcode":40004,"errmsg":"invalid media type"}

注意事项

上传的多媒体文件有格式和大小限制,如下:

  • 图片(image): 128K,支持JPG格式
  • 语音(voice):256K,播放长度不超过60s,支持AMR\MP3格式
  • 视频(video):1MB,支持MP4格式
  • 缩略图(thumb):64KB,支持JPG格式

媒体文件在后台保存时间为3天,即3天后media_id失效。

使用网页调试工具调试该接口

下载多媒体文件

公众号可调用本接口来获取多媒体文件。请注意,视频文件不支持下载,调用该接口需http协议。

接口调用请求说明

http请求方式: GET
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
请求示例(示例为通过curl命令获取多媒体文件)
curl -I -G "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"

参数说明

参数 是否必须 说明
access_token 调用接口凭证
media_id 媒体文件ID

返回说明

正确情况下的返回HTTP头如下:

HTTP/1.1 200 OK
Connection: close
Content-Type: image/jpeg
Content-disposition: attachment; filename="MEDIA_ID.jpg"
Date: Sun, 06 Jan 2013 10:20:18 GMT
Cache-Control: no-cache, must-revalidate
Content-Length: 339721
curl -G "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"

错误情况下的返回JSON数据包示例如下(示例为无效媒体ID错误)::

{"errcode":40007,"errmsg":"invalid media_id"}

使用网页调试工具调试该接口

时间: 2024-08-02 14:13:09

微信公众平台开发文档 上传下载多媒体文件的相关文章

微信公众平台开发文档 网页授权获取用户基本信息

网页授权获取用户基本信息   如果用户在微信中(Web微信除外)访问公众号的第三方网页,公众号开发者可以通过此接口获取当前用户基本信息(包括昵称.性别.城市.国家).利用用户信息,可以实现体验优化.用户来源统计.帐号绑定.用户身份鉴权等功能.请注意,"获取用户基本信息接口是在用户和公众号产生消息交互时,才能根据用户OpenID获取用户基本信息,而网页授权的方式获取用户基本信息,则无需消息交互,只是用户进入到公众号的网页,就可弹出请求用户授权的界面,用户授权后,就可获得其基本信息(此过程甚至不需要

微信公众平台开发文档 生成带参数的二维码

为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1--100000).两种二维码分别适用于帐号绑定.用户来源统计等场景. 用户扫描带场景值二维码时,可能推送以下两种事件: 如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事

微信公众平台开发文档 用户分组管理

开发者可以使用接口,对公众平台的分组进行查询.创建.修改操作,也可以使用接口在需要时移动用户到某个分组. 目录 [隐藏] 1 创建分组 2 查询所有分组 3 查询用户所在分组 4 修改分组名 5 移动用户分组 创建分组 一个公众账号,最多支持创建500个分组. 接口调用请求说明 http请求方式: POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/groups/create?access_token=ACCESS_TOKEN POST数据格式:

微信公众平台开发文档 获取用户地理位置

开通了上报地理位置接口的公众号,用户在关注后进入公众号会话时,会弹框让用户确认是否允许公众号使用其地理位置.弹框只在关注后出现一次,用户以后可以在公众号详情页面进行操作. 获取用户地理位置 获取用户地理位置的方式有两种,一种是仅在进入会话时上报一次,一种是进入会话后每隔5秒上报一次.公众号可以在公众平台网站中设置. 用户同意上报地理位置后,每次进入公众号会话时,都会在进入时上报地理位置,或在进入会话后每5秒上报一次地理位置,上报地理位置以推送XML数据包到开发者填写的URL来实现. 推送XML数

微信公众平台开发文档 客服接口

当用户主动发消息给公众号的时候(包括发送信息.点击自定义菜单click事件.订阅事件.扫描二维码事件.支付成功事件.用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数.此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务. 接口调用请求说明 http请求方式: POST https://api.weixin.qq.com/cgi-bin

微信公众平台开发文档 获取用户基本信息

在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同).公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称.头像.性别.所在城市.语言和关注时间. 获取用户基本信息 开发者可通过OpenID来获取用户基本信息.请使用https协议. 接口调用请求说明 http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?ac

微信公众平台开发文档 获取关注者列表

公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成.一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求. 接口调用请求说明 http请求方式: GET(请使用https协议) https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID 参数 是否必须

微信公众平台开发文档 语音识别

开通语音识别功能,用户每次发送语音给公众号时,微信会在推送的语音消息XML数据包中,增加一个Recongnition字段. 注:由于客户端缓存,开发者开启或者关闭语音识别功能,对新关注者立刻生效,对已关注用户需要24小时生效.开发者可以重新关注此帐号进行测试. 开启语音识别后的语音XML数据包如下: <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDAT

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

微信公众账号在回复图片.语音.视频的时候将使用media_id来调用相关文件很多朋友咨询这个如何开发实现.本文将介绍在微信公众平台开发过程中如何上传下载多媒体文件.   一.上传多媒体文件 公众号可调用本接口来上传图片.语音.视频等文件到微信服务器上传后服务器会返回对应的media_id公众号此后可根据该media_id来获取多媒体.请注意media_id是可复用的调用该接口需http协议. 通常文件上传是通过html表单进行的但通过CURL可以不经过浏览器直接在服务器端进行表单的POST提交完