diff --git a/wechat_ipad/client/message.py b/wechat_ipad/client/message.py index a24cc4c..a961457 100644 --- a/wechat_ipad/client/message.py +++ b/wechat_ipad/client/message.py @@ -227,10 +227,14 @@ class MessageMixin(WechatAPIClientBase): file_len = len(video) media_info = MediaInfo.parse(BytesIO(video)) elif isinstance(video, os.PathLike): - with open(video, "rb") as f: - file_len = len(f.read()) - vid_base64 = base64.b64encode(f.read()).decode() - media_info = MediaInfo.parse(video) + video_path = Path(video) + if not video_path.exists(): + raise ValueError(f"Video file does not exist: {video_path}") + with open(video_path, "rb") as f: + video_bytes = f.read() + file_len = len(video_bytes) + vid_base64 = base64.b64encode(video_bytes).decode() + media_info = MediaInfo.parse(video_path) else: raise ValueError("video should be str, bytes, or path") duration = media_info.tracks[0].duration