公眾號在使用接口時,對多媒體文件、多媒體消息的獲取和調用等操作,是通過media_id來進行的。通過本接口,公眾號可以上傳或下載多媒體文件。但請注意,每個多媒體文件(media_id)會在上傳、用戶發送到微信服務器3天后自動刪除,以節省服務器資源。
上傳多媒體文件
公眾號可調用本接口來上傳圖片、語音、視頻等文件到微信服務器,上傳后服務器會返回對應的media_id,公眾號此后可根據該media_id來獲取多媒體。請注意,media_id是可復用的,調用該接口需http協議。
接口調用請求說明
http請求方式: POST/FORM http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE 調用示例(使用curl命令,用FORM表單方式上傳一個多媒體文件): curl -F media=@test.jpg "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等信息 |
返回說明
正確情況下的返回JSON數據包結果如下:
{"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}
參數 | 描述 |
---|---|
type | 媒體文件類型,分別有圖片(image)、語音(voice)、視頻(video)和縮略圖(thumb,主要用於視頻與音樂格式的縮略圖) |
media_id | 媒體文件上傳后,獲取時的唯一標識 |
created_at | 媒體文件上傳時間戳 |
錯誤情況下的返回JSON數據包示例如下(示例為無效媒體類型錯誤):
{"errcode":40004,"errmsg":"invalid media type"}
注意事項
上傳的多媒體文件有格式和大小限制,如下:
- 圖片(image): 128K,支持JPG格式
- 語音(voice):256K,播放長度不超過60s,支持AMR\MP3格式
- 視頻(video):1MB,支持MP4格式
- 縮略圖(thumb):64KB,支持JPG格式
媒體文件在后台保存時間為3天,即3天后media_id失效。
下載多媒體文件
公眾號可調用本接口來獲取多媒體文件。請注意,視頻文件不支持下載,調用該接口需http協議。
接口調用請求說明
http請求方式: GET http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID 請求示例(示例為通過curl命令獲取多媒體文件) curl -I -G "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"
參數說明
參數 | 是否必須 | 說明 |
---|---|---|
access_token | 是 | 調用接口憑證 |
media_id | 是 | 媒體文件ID |
返回說明
正確情況下的返回HTTP頭如下:
HTTP/1.1 200 OK Connection: close Content-Type: image/jpeg Content-disposition: attachment; filename="MEDIA_ID.jpg" Date: Sun, 06 Jan 2013 10:20:18 GMT Cache-Control: no-cache, must-revalidate Content-Length: 339721 curl -G "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"
錯誤情況下的返回JSON數據包示例如下(示例為無效媒體ID錯誤)::
{"errcode":40007,"errmsg":"invalid media_id"}