跳到主要内容

电报群里的照片和文件在哪?先分清"那条消息里的'和"群里那一份'

群里有人发了一份表格,你下载了。过了一阵子你想再看,问题就来了:这份东西现在到底在哪?

在我手机里?在服务器上?如果我把那条消息删了,它是不是就没了?如果群里所有人都删了,它是不是彻底消失了?

这一串问题听着像同一个问题,其实是三个。

因为同一份文件,同时有三层存在。而这三层各自会不会消失,答案完全不同。分开之后,上面那些疑问就都有答案了。

第一层:服务器上那一份

先说最根本的那一份:它躺在服务器上。

你下载它、你转发它,都是在这一份的基础上发生的。也就是说,只要这一份还在,别人就随时能拿到它。

那这一份什么时候会没?

关键在于它和"消息"的关系。文件本身不单独存在,它是挂在某条消息上的附件。谁发过它,就等于给它加了一个引用;谁转发了它,就等于又加了一个引用。

这就是一个很重要的推论:同一份文件在群里可能有好几份"引用"。

比如你发了一份表格,然后有两个人分别转发了。那么现在群里就有三条消息指向同一份文件:你那条、以及他们转发的那两条。文件在服务器上还是一份,但"能拿到它"的入口有三个。

所以,你把自己那条删掉,会发生什么?

你那个入口没了,但另外两个还在。文件也还在——因为还有消息在引用它。

反过来说,只有当所有引用它的消息都被删掉,而且没有别人留着,它才可能真的从服务器上消失。

这里要标注一下:具体什么时候回收、有没有时间上的宽限,我没有可靠的依据,所以上面这句是按机制推的,不是官方说明。但它至少能解释一个常见现象——为什么你删了自己的消息,别人那边还能看到并转发同一份文件。

第二层:你手机里那一份

第二层是你设备上的缓存。

你看过的图片、下载过的文件,通常会在你手机或电脑上留一份副本。这是为了让你下次打开的时候不用重新下载。

而这一层有一个特别好用的性质:它有没有,你可以当场看出来,只要点开那个文件看它转不转圈。

如果点开立刻显示,说明本地有这份副本。

如果点开之后开始转圈、显示下载进度,那就说明本地那份已经被清掉了,它现在是从服务器上重新拉。

所以这句话很值得记住:它转圈,说明云端还在,只是你本地没了。

这个判断法解决了一类很常见的焦虑。有人清理过空间之后,发现自己下载过的文件"不见了",以为丢了,其实不是——它只是从你手机上被清掉了,聊天记录里那条消息还在,点一下就能重新下来。而只要你点得动,就说明服务器上那份还在。

反过来说,如果连点都点不动、或者提示无法获取,那才是麻烦,那说明服务器上那份可能也不在了。

第三层:那条消息给你的入口

第三层是最容易被忽略的一层:那个入口。

文件是挂在消息上的,所以那条消息本身就是"门"。门在,你就能进;门没了,哪怕里面东西还在,你也进不去。

这一点解释了为什么"删消息"和"删文件"是两种不同的操作。

你删掉那条消息,删掉的是门。你没删掉服务器上那份东西——它可能还被别人的消息引用着。所以对方那边一切照旧,只有你这边找不到入口了。

这也是为什么有些人的做法会吃亏:他们把重要的文件留在聊天记录里,觉得"反正存着呢"。等哪天清理聊天记录、或者那条消息被撤回、或者对方删了自己的账号,门就没了。

所以有一个建议我认为很实用:要长期留着的东西,别只留在消息里。

具体可以把它转存到收藏夹,或者下载到本地存到一个固定的文件夹,或者干脆放到自己的云盘。这三种做法的共同点是:它们给这份东西另建了一个入口,而且那个入口不依赖某一条聊天消息。

关于收藏夹的用法和共享媒体列表这些入口,我在别的文章里写过,这里就不重复了。

一个三问的判断法

把三层合起来,遇到"这份东西还在不在"的时候,按这三个问题问一遍。

第一个问题:还有消息引用它吗?

如果原来那条被删了,但有人转发过,那它还在。如果所有引用都没了,那才危险。

第二个问题:我手机上有没有?

这个最好判断——点开看转不转圈。转圈就说明本地没有、云端有。

第三个问题:我还有入口吗?

也就是说,那条消息我还能不能找到。找不到的话,可以去共享媒体列表或者群相册里翻一翻,那里是把同一个群里发过的图片、文件汇总起来的地方,相当于另一种入口。

这三个问题的答案可以不同。所以完全可能发生这种情况:服务器上有、别人也能拿到,但你这边入口没了、本地也没有,于是你觉得"文件没了"。其实它还在,只是对你来说暂时不可达。

一个能验证"引用"这个说法的现象

前面讲的道理有点抽象,这里给一个你多半见过的现象,它能反过来印证这件事。

在群里搜一份文件的名字,你可能会搜出好几条一模一样的消息,看起来是同一个文件被发了好几次。

这不是重复,这就是引用。同一份文件,被不同的人在不同时间发过或者转发过,所以就有了好几条消息指向它。

于是有一个推论:群里同一份文件出现的条数,大致等于"有人把它发出来过"的次数。发的人越多,你的选择就越多。

那这么多条里该点哪一条?

我的习惯是找最早的那条。因为最早的那条离原点最近,后面那些多半是从它转发出来的。但也要知道,如果最早的那条被删了,后面转发的那些照样能用——因为它们各自都是独立的引用,不依赖彼此。

还有一个现象值得说清,免得误会。虽然那份文件在群里出现过五次,但你手机上通常不会存五份。本地缓存一般是按"这份东西本身"去留的,不会因为消息条数多就存好几遍。所以你在群里看到五个入口,但占你空间的还是那一份。

什么时候会"东西还在,但门没了"

顺着"门"这个说法,列几个常见的场景,这些情况下你会突然发现自己拿不到东西了。

一个是对方撤回了他发的那条。撤回是对所有人有效的,所以不光他的消息没了,你的入口也跟着没了。这时候哪怕文件本体还在别的地方,你那条路是断的。

一个是你自己清理了聊天记录。清完之后,本地缓存可能也一起被清了,于是门和本地副本同时消失。这种时候如果服务器上那份还在,你去找别人的转发或者共享媒体列表,还有机会。

一个是你换了设备或者重装。记录会同步回来,所以消息还在、入口看起来还在,但本地缓存是空的。这种时候点开就要重新下载——正好是前面说的那个"转圈"。

一个是群发生了变化。比如你被移出了群,或者群被解散了。这种时候按常理推,你就访问不到那个群里的内容了。具体会怎样我没有核实到确切结论,所以这一条我按机制说,不下断言。

把这几条放在一起看,会发现门比你想的脆弱。它依赖一条消息还在,也依赖你还在那个地方。

那怎么存才稳

最后给一个我觉得最实用的标准,你可以拿它检查自己的习惯。

判断一样东西是不是真的"存好了",标准是这一句:换个设备、换个账号、过一年,我还能拿到它吗。

如果答案是"能",那它是真的存好了。如果答案是"应该能吧,我下次还能找到那条消息",那它其实没存好,只是暂时在手边。

按这个标准,比较稳的做法有三层。

一层是放在平台的云端,但要放在一个不依赖某条聊天消息的地方。比如收藏夹,比如自己建一个只有自己的群。后者这个土办法其实很好用:你有了一块完全属于自己的地方,往里面发什么都没人打扰,而且它给了你一个稳定的入口。

一层是下载到本地,而且下载到固定的文件夹。别依赖"我下次再从聊天里找出来",因为聊天记录会变。下载到本地就是给自己留了一份不依赖平台的副本。

一层是放到另一个地方。比如你自己的云盘、移动硬盘。这一层的意义是防止"平台这一侧出问题"。前两层其实都在同一个平台上,平台出问题它们会一起出问题。

三层都有,那份东西才真的安全。而多数人的问题是只有中间那层的一半——东西还在聊天记录里躺着,他就觉得存好了。

几个常见的坑

第一个坑,是把"我删了消息"理解成"文件被删了"。你删掉的是入口,服务器上那份可能还被别人引用着。

第二个坑,是把"我本地没有了"理解成"文件丢了"。点一下能重新下载的,就说明它还在。

第三个坑,是把重要文件只留在聊天记录里。那条消息一没,门就没了。该转存就转存。

第四个坑,是以为转发会"复制"出一份新文件。文件本体通常还是一份,增加的是引用它的消息条数。

第五个坑,是清理空间的时候不清醒。清缓存清掉的是你本地的副本,代价是以后要重新下载,而不是内容没了。这两件事要分开想。

最后

如果只用三句话记住这篇,我希望是这三句。

同一份文件有三层存在:服务器上那一份、你手机里的一份、以及那条消息给你的那个入口。它们各自会不会消失,答案完全不同。

服务器上那份的命,取决于还有没有消息引用它。你删了自己那条,别人转发过的那条还在,文件就还在。而你手机上那份在不在,点开看它转不转圈就知道——转圈说明云端有、本地没了。

所以想让一份东西长期留住,别只留在聊天记录里。它有可能是"东西还在,但门没了"。转存到收藏夹、下载到本地、或者放进自己的云盘,才是给它另开一扇门。

Telegram群里的照片和文件在哪 电报附件和消息的关系 Telegram转发会产生几份文件