微信公眾賬號(hào)在回復(fù)圖片、語(yǔ)音、視頻的時(shí)候,將使用media_id來(lái)調(diào)用相關(guān)文件,很多朋友咨詢這個(gè)如何開(kāi)發(fā)實(shí)現(xiàn)。本文將介紹在微信公眾平臺(tái)開(kāi)發(fā)過(guò)程中,如何上傳下載多媒體文件。
一、上傳多媒體文件
公眾號(hào)可調(diào)用本接口來(lái)上傳圖片、語(yǔ)音、視頻等文件到微信服務(wù)器,上傳后服務(wù)器會(huì)返回對(duì)應(yīng)的media_id,公眾號(hào)此后可根據(jù)該media_id來(lái)獲取多媒體。請(qǐng)注意,media_id是可復(fù)用的,調(diào)用該接口需http協(xié)議。
通常,文件上傳是通過(guò)html表單進(jìn)行的,但通過(guò)CURL可以不經(jīng)過(guò)瀏覽器,直接在服務(wù)器端進(jìn)行表單的POST提交,完成文件上傳功能。
需要注意的是:文件名必須是完整絕對(duì)路徑,另外需要絕對(duì)路徑前加上“@”以示區(qū)分。
在Windows服務(wù)器上,格式示例為:”@F:\israel\upload\winter.jpg”,而在Linux服務(wù)器上,格式示例為:”@home/israel/upload/winter.jpg”。
http請(qǐng)求方式: POST/FORM
http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
參數(shù)說(shuō)明
參數(shù) |
是否必須 |
說(shuō)明 |
access_token |
是 |
調(diào)用接口憑證 |
type |
是 |
媒體文件類型,分別有圖片(image)、語(yǔ)音(voice)、視頻(video)和縮略圖(thumb) |
media |
是 |
form-data中媒體文件標(biāo)識(shí),有filename、filelength、content-type等信息 |
上傳圖片
返回結(jié)果
{????"type":?"image", ????"media_id":?"QQ9nj-7ctrqA8t3WKU3dQN24IuFV_516MfZRZNnQ0c-BFVkk66jUkPXF49QE9L1l", ????"created_at":?1389793969}
?
上傳語(yǔ)音
返回結(jié)果
{????"type":?"voice", ????"media_id":?"5Idx79V9E3XfBCz_A50gr1a1_klgPpJnb_eq73yz0bn-prhIsNlwI3n6jQgshmWk", ????"created_at":?1389794760}
?
上傳視頻
?
返回結(jié)果
{????"type":?"video", ????"media_id":?"Jm-Wq0nXtA_oN1qNydQRP03dCsB0R2t5gCHDM3QNkBmMRE1WBaorVJNQTBRHvK9-", ????"created_at":?1389794768}
上傳縮略圖
返回結(jié)果
{????"type":?"thumb", ????"thumb_media_id":?"2RhP0caRKHVOmZO5AKelHkK--vqPPwgUaRp5-WE63dvmmPRWiYVKgvNblIp_gv79", ????"created_at":?1389794771}
參數(shù)說(shuō)明
參數(shù) |
描述 |
type |
媒體文件類型,分別有圖片(image)、語(yǔ)音(voice)、視頻(video)和縮略圖(thumb,主要用于視頻與音樂(lè)格式的縮略圖) |
media_id |
媒體文件上傳后,獲取時(shí)的唯一標(biāo)識(shí) |
created_at |
媒體文件上傳時(shí)間戳 |
注意事項(xiàng)
上傳的多媒體文件有格式和大小限制,如下:
?? 圖片(image): 128K,支持JPG格式
?? 語(yǔ)音(voice):256K,播放長(zhǎng)度不超過(guò)60s,支持AMR\MP3格式
?? 視頻(video):1MB,支持MP4格式
?? 縮略圖(thumb):64KB,支持JPG格式
媒體文件在后臺(tái)保存時(shí)間為3天,即3天后media_id失效。對(duì)于需要重復(fù)使用的多媒體文件,可以每3天循環(huán)上傳一次,更新media_id。
?
二、下載多媒體文件
公眾號(hào)可調(diào)用本接口來(lái)獲取多媒體文件。請(qǐng)注意,視頻文件不支持下載,調(diào)用該接口需http協(xié)議。
下載文件使用獲取圖片數(shù)據(jù),寫(xiě)入新文件的方法。
http請(qǐng)求方式: GET
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
參數(shù)說(shuō)明
參數(shù) |
是否必須 |
說(shuō)明 |
access_token |
是 |
調(diào)用接口憑證 |
media_id |
是 |
媒體文件ID |
?
下載圖片
代碼實(shí)現(xiàn)
返回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}
?
下載語(yǔ)音
代碼實(shí)現(xiàn)
返回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的語(yǔ)音格式被壓縮成AMR格式了。
?
下載縮略圖
實(shí)現(xiàn)代碼
返回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}
?至于回復(fù)相應(yīng)的消息,就是利用消息接口或者客服接口,構(gòu)造成相應(yīng)的消息就行了,和構(gòu)造文本,圖文消息的方法是一樣的。
更多微信公眾平臺(tái)開(kāi)發(fā) ?上傳下載多媒體文件?相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門(mén)文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)
