fix(qq): handle file:// URI on Windows in _read_media_bytes

urlparse on Windows puts the path in netloc, not path. Use
(parsed.path or parsed.netloc) to get the correct raw path.
This commit is contained in:
chengyongru
2026-03-23 15:18:54 +08:00
parent 2db2cc18f1
commit e4137736f6

View File

@@ -373,7 +373,9 @@ class QQChannel(BaseChannel):
try:
if media_ref.startswith("file://"):
parsed = urlparse(media_ref)
local_path = Path(unquote(parsed.path))
# Windows: path in netloc; Unix: path in path
raw = parsed.path or parsed.netloc
local_path = Path(unquote(raw))
else:
local_path = Path(os.path.expanduser(media_ref))