upload('image', $path); } /** * 上传音频 * @param string $path * @return Response * @throws TransportExceptionInterface * @author 等风来 * @email 136327134@qq.com * @date 2023/9/15 */ public function uploadVoice(string $path): Response { return $this->upload('voice', $path); } /** * 上传文件 * @param string $type * @param string $path * @param array $form * @return Response * @throws TransportExceptionInterface * @author 等风来 * @email 136327134@qq.com * @date 2023/9/14 */ public function upload(string $type, string $path, array $form = []): Response { if (!file_exists($path) || !is_readable($path)) { throw new WechatException(sprintf('File does not exist, or the file is unreadable: "%s"', $path)); } $form['type'] = $type; return $this->httpUpload($this->getApiByType($type), ['media' => $path], $form); } /** * 获取接口 * @param string $type * @return string * @author 等风来 * @email 136327134@qq.com * @date 2023/9/14 */ public function getApiByType(string $type): string { return match ($type) { 'news_image' => 'cgi-bin/media/uploadimg', default => 'cgi-bin/material/add_material' }; } }