php微信上传视频文件在哪里,微信公众平台开发 上传下载多媒体文件

微信公众账号在回复图片、语音、视频的时候,将使用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等信息

上传图片

400a2bde75ad9327016ff390b322e557.png

返回结果

{ "type": "image",

"media_id": "QQ9nj-7ctrqA8t3WKU3dQN24IuFV_516MfZRZNnQ0c-BFVkk66jUkPXF49QE9L1l",

"created_at": 1389793969}

上传语音

bda4ba0497503e297d5ae75b5c4a5421.png

返回结果

{ "type": "voice",

"media_id": "5Idx79V9E3XfBCz_A50gr1a1_klgPpJnb_eq73yz0bn-prhIsNlwI3n6jQgshmWk",

"created_at": 1389794760}

上传视频

5a7e3a0f4dd42b42cf5f11a782afc756.png

返回结果

{ "type": "video",

"media_id": "Jm-Wq0nXtA_oN1qNydQRP03dCsB0R2t5gCHDM3QNkBmMRE1WBaorVJNQTBRHvK9-",

"created_at": 1389794768}

上传缩略图

4acd4711a6578f7871587f9478587c09.png

返回结果

{ "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

下载图片

代码实现

504d2202d242201c9b860930069e8e2a.png

返回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}

下载语音

代码实现

625fa1c522851aab3b3cd9be1d001abe.png

返回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格式了。

下载缩略图

实现代码

b3da6d1525cec6370820f910e105062a.png

返回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中文网!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序文件下载是指在微信小程序中进行文件输和获取操作。开发者可以通过微信小程序的API,实现文件下载的功能,让用户能够方便地上下载文件。 对于文件功能,开发者可以使用微信小程序提供的API wx.uploadFile,通过入服务器地址、文件路径等参数,实现将文件发送到服务器的操作。用户可以通过选择或拍摄照片、录制视频等方式,将文件到服务器上。在上过程中,可以使用wx.showLoading等API对上过程进行提示,让用户了解文件的进程。 对于文件下载功能,开发者可以使用微信小程序提供的API wx.downloadFile,通过入服务器地址等参数,实现从服务器获取文件的操作。用户可以通过点击或请求的方式,将文件从服务器上下载到本地。在下载过程中,也可以使用wx.showLoading等API对下载过程进行提示,让用户了解文件下载的进程。 在使用文件下载功能时,开发者需要注意文件大小和类型的限制,以及网络输的稳定性。同时,为了提升用户体验,可以通过合理的加载动画、进度条等方式,增加用户对文件下载的可视化反馈,在操作过程中提供良好的用户交互体验。 总之,微信小程序文件下载功能的实现,为用户提供了方便的文件输和获取方式,可以满足用户对文件操作的需求,提升了微信小程序的功能性和实用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值