1 微信公众账号在回复图片、语音、视频的时候,将使用media_id来调用相关文件,很多朋友咨询这个如何开发实现。本文将介绍在微信公众平台开发过程中,如何上传下载多媒体文件。
  2
  3
  4
  5 一、上传多媒体文件
  6
  7 公众号可调用本接口来上传图片、语音、视频等文件到微信服务器,上传后服务器会返回对应的media_id,公众号此后可根据该media_id来获取多媒体。请注意,media_id是可复用的,调用该接口需http协议。
  8
  9 通常,文件上传是通过html表单进行的,但通过CURL可以不经过浏览器,直接在服务器端进行表单的POST提交,完成文件上传功能。
 10
 11 需要注意的是:文件名必须是完整绝对路径,另外需要绝对路径前加上“@”以示区分。
 12
 13 在Windows服务器上,格式示例为:”@F:\israel\upload\winter.jpg”,而在Linux服务器上,格式示例为:”@home/israel/upload/winter.jpg”。
 14
 15 http请求方式: POST/FORM
 16
 17 http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
 18
 19 参数说明
 20
 21 参数
 22
 23
 24 是否必须
 25
 26
 27 说明
 28
 29 access_token
 30
 31
 32 是
 33
 34
 35 调用接口凭证
 36
 37 type
 38
 39
 40 是
 41
 42
 43 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)
 44
 45 media
 46
 47
 48 是
 49
 50
 51 form-data中媒体文件标识,有filename、filelength、content-type等信息
 52
 53 上传图片 54
 55 返回结果
 56
 57 {
 58     "type": "image",
 59     "media_id": "QQ9nj-7ctrqA8t3WKU3dQN24IuFV_516MfZRZNnQ0c-BFVkk66jUkPXF49QE9L1l",
 60     "created_at": 1389793969
 61 }
 62
 63
 64
 65 上传语音 66
 67 返回结果
 68
 69 {
 70     "type": "voice",
 71     "media_id": "5Idx79V9E3XfBCz_A50gr1a1_klgPpJnb_eq73yz0bn-prhIsNlwI3n6jQgshmWk",
 72     "created_at": 1389794760
 73 }
 74
 75
 76
 77 上传视频
 78 

 79
 80
 81 返回结果
 82
 83 {
 84     "type": "video",
 85     "media_id": "Jm-Wq0nXtA_oN1qNydQRP03dCsB0R2t5gCHDM3QNkBmMRE1WBaorVJNQTBRHvK9-",
 86     "created_at": 1389794768
 87 }
 88
 89 上传缩略图 90
 91 返回结果
 92
 93 {
 94     "type": "thumb",
 95     "thumb_media_id": "2RhP0caRKHVOmZO5AKelHkK--vqPPwgUaRp5-WE63dvmmPRWiYVKgvNblIp_gv79",
 96     "created_at": 1389794771
 97 }
 98
 99 参数说明
100
101 参数
102
103
104 描述
105
106 type
107
108
109 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb,主要用于视频与音乐格式的缩略图)
110
111 media_id
112
113
114 媒体文件上传后,获取时的唯一标识
115
116 created_at
117
118
119 媒体文件上传时间戳
120
121 注意事项
122
123 上传的多媒体文件有格式和大小限制,如下:
124
125   图片(image): 128K,支持JPG格式
126
127   语音(voice):256K,播放长度不超过60s,支持AMR\MP3格式
128
129   视频(video):1MB,支持MP4格式
130
131   缩略图(thumb):64KB,支持JPG格式
132
133 媒体文件在后台保存时间为3天,即3天后media_id失效。对于需要重复使用的多媒体文件,可以每3天循环上传一次,更新media_id。
134
135
136
137 二、下载多媒体文件
138
139 公众号可调用本接口来获取多媒体文件。请注意,视频文件不支持下载,调用该接口需http协议。
140
141 下载文件使用获取图片数据,写入新文件的方法。
142
143 http请求方式: GET
144
145 http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
146
147 参数说明
148
149 参数
150
151
152 是否必须
153
154
155 说明
156
157 access_token
158
159
160 是
161
162
163 调用接口凭证
164
165 media_id
166
167
168 是
169
170
171 媒体文件ID
172
173
174
175 下载图片176
177 代码实现
178
179 返回HTTP头示例如下
18181
182 {
183     "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",
184     "content_type": "image/jpeg",
185     "http_code": 200,
186     "header_size": 308,
187     "request_size": 316,
188     "filetime": -1,
189     "ssl_verify_result": 0,
190     "redirect_count": 0,
191     "total_time": 1.36,
192     "namelookup_time": 1.016,
193     "connect_time": 1.078,
194     "pretransfer_time": 1.078,
195     "size_upload": 0,
196     "size_download": 105542,
197     "speed_download": 77604,
198     "speed_upload": 0,
199     "download_content_length": 105542,
200     "upload_content_length": 0,
201     "starttransfer_time": 1.141,
202     "redirect_time": 0
203 }
204
205206
207
208
209 下载语音210
211 代码实现
212
213 返回HTTP头如下
214 215
216 {
217     "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",
218     "content_type": "audio/amr",
219     "http_code": 200,
220     "header_size": 306,
221     "request_size": 316,
222     "filetime": -1,
223     "ssl_verify_result": 0,
224     "redirect_count": 0,
225     "total_time": 0.125,
226     "namelookup_time": 0.031,
227     "connect_time": 0.063,
228     "pretransfer_time": 0.063,
229     "size_upload": 0,
230     "size_download": 10470,
231     "speed_download": 83760,
232     "speed_upload": 0,
233     "download_content_length": 10470,
234     "upload_content_length": 0,
235     "starttransfer_time": 0.125,
236     "redirect_time": 0
237 }
238
239240
241 可以看出,MP3的语音格式被压缩成AMR格式了。
242
243
244
245 下载缩略图246
247 实现代码
248
249 返回HTTP头如下
250 251
252 {
253     "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",
254     "content_type": "image/jpeg",
255     "http_code": 200,
256     "header_size": 306,
257     "request_size": 316,
258     "filetime": -1,
259     "ssl_verify_result": 0,
260     "redirect_count": 0,
261     "total_time": 0.094,
262     "namelookup_time": 0,
263     "connect_time": 0.047,
264     "pretransfer_time": 0.047,
265     "size_upload": 0,
266     "size_download": 6057,
267     "speed_download": 64436,
268     "speed_upload": 0,
269     "download_content_length": 6057,
270     "upload_content_length": 0,
271     "starttransfer_time": 0.094,
272     "redirect_time": 0
273 }
274
2276
277  至于回复相应的消息,就是利用消息接口或者客服接口,构造成相应的消息就行了,和构造文本,图文消息的方法是一样的。

转载于:https://www.cnblogs.com/zuochuang/p/4723534.html

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

  1. 微信公众平台开发 上传素材

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

  2. C#-微信公众平台接口-上传临时素材

    最烦做微信公众平台的东西..文档说得不清不楚,又没示例代码,只能自己 慢慢搜索,弄了一晚上,基本弄出来了,把本地的图片上传到微信的临时素材那里,返回媒体ID,用于其他操作,代码如下 :(自己导入相应的 ...

  3. 微信公众平台开发(77) 图片下载

    微信公众平台的用户头像和接口取到的用户上传图片都做了防盗处理,不能被其他网页引用. 例如,下面是在引用用户头像的图片的时候,提示未经允许不可引用. 本文介绍如何下载这些图片的方法! 一.下载图片所有信 ...

  4. 微信公众号开发上传图文素材带有卡片小程序报错:errcode=45166,errmsg = invalid content hint...

    微信公众号开发自从支持允许在群发图文中插入小程序,方便了小程序的运营及推广.最近在三方服务开发中,要支持图文素材插入小程序遇到了一个很是棘手的问题.官方给出的插入小程序的示例支持文字.图片.卡片.如下 ...

  5. 微信公众号开发-上传媒体素材到微信并存入相关信息到数据库

    流程: 本地指定临时或永久素材后调用微信媒体素材上传api,将文件上传到微信服务器,微信返回含media_id的信息,本地数据库存入相关信息,以供以后素材使用. 代码 素材上传页面 <!DOCT ...

  6. 微信公众平台开发 高级群发接口

    在这篇微信公众平台高级接口开发教程中,我们将介绍如何使用接口实现微信公众平台群发功能.本文分为以下四个部分:准备群发内容选择群发对象执行群发接收群发结果一.准备群发内容群发内容可以是文本.图片.语音. ...

  7. 微信公php开发视频,PHP实现微信公众平台开发 全套视频资源下载

    好久没有更新东西了,今天给大家分享一份比较不错的视频学习资源吧. 主要是关于PHP实现微信公众平台开发, 不知道大家对于微信平台的开发有多少了解,那么今天就从基础开始吧,资源目录如下(PS :适各自的 ...

  8. 【微信开发】上传下载多媒体文件

    最近一段时间,开始入手了微信开发.感觉挺有意思的,虽然目前还是遇到了许多解决不了的问题. 上传下载多媒体文件,这个作为高级接口的一部分功能,可能使用的人并不多,所以现在网上关于这个接口的使用教程很少. ...

  9. java微信上传本地视频教程_java微信开发之上传下载多媒体文件,java上传下载_PHP教程...

    java微信开发之上传下载多媒体文件,java上传下载 回复图片.音频.视频消息都是需要media_id的,这个是需要将多媒体文件上传到微信服务器才有的. 将多媒体文件上传到微信服务器,以及从微信服务 ...

最新文章

  1. Android面试题目之二:整形转换为字符串
  2. 小师妹学JavaIO之:文件编码和字符集Unicode
  3. 谁今天收到鸿蒙系统推送,鸿蒙系统正式推送,只有部分高端机才能收到
  4. 如何在不增加人员的情况下自动化API安全程序
  5. 工业级以太网交换机跟普通商用网络交换机有啥区别?
  6. 【转】SQL中where, group by, having的用法和区别
  7. bzoj 2555: SubString
  8. 一键解决“请卸载所有32位office程序,然后重试安装64位office”
  9. 树莓派微型计算机教程,简单易用的树莓派平板 带你快速入门计算机编程
  10. 相册排版软件Pixellu SmartAlbums 2 mac版
  11. 秒杀系统设计的关键点思考
  12. 658. 一元二次方程公式
  13. rxjava背压_关于Rx Java:如何在RxJava RabbitMQ Observable中实现背压?
  14. 对脚手架的使用的几点建议
  15. MacOS打印自定义尺寸配置教程
  16. Java实验:重写equals方法
  17. 用计算机画画单元计划,第二单元用电脑画画.doc
  18. PAT (Basic Level) Practice (中文)1072 开学寄语(C语言)
  19. 汽车机油的作用及分类、标号和级别的知识
  20. Ubuntu16.04 下载百度网盘文件 实现

热门文章

  1. 计算机图形学——实验四 纹理映射实验
  2. 01. 全彩RGB LED灯模块使用教程
  3. VREP(Coppeliarobotics)仿真介绍
  4. mac 开启终端代理
  5. 常见的HTT相应状态码
  6. 湖北省教育考试院湖北省人事考试网报名入口报名时间软考报名
  7. 人工智能数学基础---定积分6:无穷限函数的反常积分计算
  8. Java真题笔记|华为
  9. ad 卡尔曼_理解卡尔曼五个方程
  10. kaldi部分训练方法DNN-HMM模型