QQ PC 版本升级后无法正常向其他程序粘贴聊天中的图片了

2022-12-07 01:11:41 +08:00
 natsukage

比如从 QQ 中复制包含多张图片的一条消息到微信或 TG 。 现在复制单图后,在 TG 粘贴还是正常的。但是如果复制同时含有多张图片的消息(不论是其他人发的还是自己在发送栏里的)直接复制粘贴,到 TG 都会提示给出的图片路径是一个 Empty File 无法发送。 例如,这里 TG 粘贴时给出的报错路径是

.../AppData/Roaming/Tencent/QQ/Temp/O0%60%25RZ8JC6%60L[GDE03DE$QI.png

但是实际查看剪贴板内容可以看到,剪贴板中无论是 HTML 还是 QQRichText 格式的均为正常路径。

Version:0.9 StartHTML:00000112 EndHTML:00000432 StartFragment:00000126 EndFragment:00000396

<html><body>

</body> </html>

另,图文混合的消息,和多图消息一样,也会出现同样的问题。粘贴时报告 /AppData/Roaming/Tencent/QQ/Temp/下的图片为空,无法发送。但是实际上图片真实的目录根本不在这里,而是在 QQ 自己的消息记录文件夹( Tencent Files<QQ 号>\Image\)下。

回退到 QQ9.6.8.28823 版本后工作正常。 此外,运行旧版本 QQ 时,即使直接在 TG 中粘贴几分钟前从新版本 QQ 粘贴来的图片组,也可以正常的粘贴。 经过对比可以看到剪贴板内容格式上,新旧版 QQ 并没有区别。在新版本 QQ 中 Ctrl+C 复制多图消息,然后安装并启动旧版本 QQ ,然后再在 TG 中按下粘贴,就可以正常的粘贴多图了。

显然,问题是由于当你在其他程序(微信或 TG 等)中粘贴来自 QQ 的消息时,作为粘贴来源的 QQ 提供了一个%AppData%下的 Temp 路径下的临时图片目录。但是这个目录中是并没有实际对应的图片文件的。我用图片文件名通过 Everything 搜索只能找到 Tencent Files<QQ 号>\Image\下的唯一图片。

这个本来是这类非纯文本内容在复制粘贴时的特性,即复制源并没有真的把复制的内容原原本本的放在剪贴板里,而是到内容被 CtrlV 时,才会去要求内容源按照要求的格式进行渲染。这也是为什么在 OneNote 等软件中粘贴来自 VSC 的代码时会保留高亮格式的原因。 显然,新版本的 QQ 在这里额外的多做了一些处理,使得当 QQ 的消息被粘贴至其他应用时,对方应用无法正确地取得消息中图片的地址。

这个问题也会导致 flomo 等其他软件中无法正常粘贴图片(起码在 pwa 中不行)。

目前姑且是用 Quicker 写了个动作每次粘贴之前手动的处理剪贴板里的内容,但是做得并不优美。还是回退回之前版本 QQ 最简单。

虽然知道大概的理由,但是完全不清楚 QQ 要这么做的原因(不单单是笔记软件等受到影响,连自家的微信也无法正常粘贴图片了) 姑且还是想问一下,有没有办法规避这个问题呢?还是说其实是我想错了,有什么其他东西影响了我的剪贴板内容?(因为完全没看到有其他人提起过相关 issue ,所以确实也有这种可能性)

万分感谢!

1353 次点击
所在节点    程序员
3 条回复
smallthing
2022-12-07 02:01:47 +08:00
因为 QQ 的程序员用高端的 macbook 不用 pcqq 就这么简单
systemcall
2022-12-07 02:43:41 +08:00
有可能是准备换成 electron ,在为升级做埋点吧
Morii
2022-12-07 09:28:18 +08:00
之前可以吧 mac 微信中的表情复制出来,现在也不行了,有没有方法?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/900647

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX