微信公众平台开发 上传下载多媒体文件
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
微信公众平台开发 上传下载多媒体文件相关推荐
- 微信公众平台开发 上传素材
微信公众账号在回复图片.语音.视频的时候,将使用media_id来调用相关文件,很多朋友咨询这个如何开发实现.本文将介绍在微信公众平台开发过程中,如何上传下载多媒体文件. 一.上传多媒体文件 公众号可 ...
- C#-微信公众平台接口-上传临时素材
最烦做微信公众平台的东西..文档说得不清不楚,又没示例代码,只能自己 慢慢搜索,弄了一晚上,基本弄出来了,把本地的图片上传到微信的临时素材那里,返回媒体ID,用于其他操作,代码如下 :(自己导入相应的 ...
- 微信公众平台开发(77) 图片下载
微信公众平台的用户头像和接口取到的用户上传图片都做了防盗处理,不能被其他网页引用. 例如,下面是在引用用户头像的图片的时候,提示未经允许不可引用. 本文介绍如何下载这些图片的方法! 一.下载图片所有信 ...
- 微信公众号开发上传图文素材带有卡片小程序报错:errcode=45166,errmsg = invalid content hint...
微信公众号开发自从支持允许在群发图文中插入小程序,方便了小程序的运营及推广.最近在三方服务开发中,要支持图文素材插入小程序遇到了一个很是棘手的问题.官方给出的插入小程序的示例支持文字.图片.卡片.如下 ...
- 微信公众号开发-上传媒体素材到微信并存入相关信息到数据库
流程: 本地指定临时或永久素材后调用微信媒体素材上传api,将文件上传到微信服务器,微信返回含media_id的信息,本地数据库存入相关信息,以供以后素材使用. 代码 素材上传页面 <!DOCT ...
- 微信公众平台开发 高级群发接口
在这篇微信公众平台高级接口开发教程中,我们将介绍如何使用接口实现微信公众平台群发功能.本文分为以下四个部分:准备群发内容选择群发对象执行群发接收群发结果一.准备群发内容群发内容可以是文本.图片.语音. ...
- 微信公php开发视频,PHP实现微信公众平台开发 全套视频资源下载
好久没有更新东西了,今天给大家分享一份比较不错的视频学习资源吧. 主要是关于PHP实现微信公众平台开发, 不知道大家对于微信平台的开发有多少了解,那么今天就从基础开始吧,资源目录如下(PS :适各自的 ...
- 【微信开发】上传下载多媒体文件
最近一段时间,开始入手了微信开发.感觉挺有意思的,虽然目前还是遇到了许多解决不了的问题. 上传下载多媒体文件,这个作为高级接口的一部分功能,可能使用的人并不多,所以现在网上关于这个接口的使用教程很少. ...
- java微信上传本地视频教程_java微信开发之上传下载多媒体文件,java上传下载_PHP教程...
java微信开发之上传下载多媒体文件,java上传下载 回复图片.音频.视频消息都是需要media_id的,这个是需要将多媒体文件上传到微信服务器才有的. 将多媒体文件上传到微信服务器,以及从微信服务 ...
最新文章
- Android面试题目之二:整形转换为字符串
- 小师妹学JavaIO之:文件编码和字符集Unicode
- 谁今天收到鸿蒙系统推送,鸿蒙系统正式推送,只有部分高端机才能收到
- 如何在不增加人员的情况下自动化API安全程序
- 工业级以太网交换机跟普通商用网络交换机有啥区别?
- 【转】SQL中where, group by, having的用法和区别
- bzoj 2555: SubString
- 一键解决“请卸载所有32位office程序,然后重试安装64位office”
- 树莓派微型计算机教程,简单易用的树莓派平板 带你快速入门计算机编程
- 相册排版软件Pixellu SmartAlbums 2 mac版
- 秒杀系统设计的关键点思考
- 658. 一元二次方程公式
- rxjava背压_关于Rx Java:如何在RxJava RabbitMQ Observable中实现背压?
- 对脚手架的使用的几点建议
- MacOS打印自定义尺寸配置教程
- Java实验:重写equals方法
- 用计算机画画单元计划,第二单元用电脑画画.doc
- PAT (Basic Level) Practice (中文)1072 开学寄语(C语言)
- 汽车机油的作用及分类、标号和级别的知识
- Ubuntu16.04 下载百度网盘文件 实现