微信公眾賬號(hào)在回復(fù)圖片、語(yǔ)音、視頻的時(shí)候,將使用media_id來(lái)調(diào)用相關(guān)文件,很多朋友咨詢這個(gè)如何開發(fā)實(shí)現(xiàn)。本文將介紹在微信公眾平臺(tá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ù),寫入新文件的方法。
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)開發(fā) ?上傳下載多媒體文件?相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)