臨時素材
上傳的臨時多媒體文件有格式和大小限制,如下:
- 圖片(
image
): 2M,支持JPG
格式 - 語音(
voice
):2M,播放長度不超過60s
,支持AMR\MP3
格式 - 視頻(
video
):10MB,支持MP4
格式 - 縮略圖(
thumb
):64KB,支持JPG
格式
上傳圖片
注意:微信圖片上傳服務有敏感檢測系統,圖片內容如果含有敏感內容,如色情,商品推廣,虛假信息等,上傳可能失敗。
$officialAccount->media->uploadImage($path);
上傳聲音
$officialAccount->media->uploadVoice($path);
上傳視頻
$officialAccount->media->uploadVideo($path);
上傳縮略圖
用于視頻封面或者音樂封面。
$officialAccount->media->uploadThumb($path);
上傳群發視頻
上傳視頻獲取 media_id
用以創建群發消息用。
<?php
$uploadRet = $officialAccount->media->uploadVideo($path);
$officialAccount->media->createVideoForBroadcasting($uploadRet['media_id'], $title, $description);
運行結果:
{
"media_id": "rF4UdIMfYK3efUfyoddYRMU50zMiRmmt_l0kszupYh_SzrcW5Gaheq05p_lHuOTQ",
"title": "TITLE",
"description": "Description"
}
創建群發消息
使用 media_id
加標題和描述,創建一條消息素材 用來發送給用戶。詳情參見:消息群發
$officialAccount->media->createVideoForBroadcasting($mediaId, $title, $description);
$officialAccount->media->createVideoForBroadcasting($mediaId, $title, $description);
運行結果:
{
"type": "video",
"media_id": "IhdaAQXuvJtGzwwc0abfXnzeezfO0NgPK6AQYShD8RQYMTtfzbLdBIQkQziv2XJc",
"created_at": 1398848981
}
獲取臨時素材內容
比如圖片、語音等二進制流內容,響應為 EasyWeChat\Kernel\Http\StreamResponse
實例。
<?php
$stream = $officialAccount->media->get($mediaId);
if ($stream instanceof \EasySwoole\WeChat\Kernel\Psr\StreamResponse) {
// 以內容 md5 為文件名存到本地
$stream->save('保存目錄');
// 自定義文件名,不需要帶后綴
$stream->saveAs('保存目錄', '文件名');
}
獲取 JSSDK 上傳的高清語音
<?php
$stream = $officialAccount->media->getJssdkMedia($mediaId);
$stream->saveAs('保存目錄', 'custom-name.speex');