本地文件存储的多份问题,不需要大牛 只需要每个文件有个 引用计数 转发一次,新的消息进来本地查重(例如基于 SHA1/MD5 这些,本地对文件在 sqlite 里面有个表,除了存储路径,还有对应的 SHA1/MD5 值),引用计数 + 1 就行了,不需要再次存储数据,新的消息指向唯一的文件路径就可以读取文件显示了 这个存储的标准用法至少存在了 20 年了 只是微信设计的奇葩而已 不是大牛,存储软件研发十多年的普通工程师路过
咱们可以从设计反推需求,分析如下: 1.几年前我从桌面编辑完某文档后,通过拖拽发送给对方,随后就删除了。等我想再确认一下当时发送的内容时,发现文件已被清理。而现在的逻辑是只要产生文件发 /收,就会把文件副本到微信消息目录。 需求:(普通)用户多次反馈发送的文件找不到了 至于相同内容多副本的,不知道是不想做还是就没想这块的设计 2.这个场景更容易想,某些企业,会发送报名表、申请表、xx 单子等等,用户都习惯于打开后就地修改,导致原始文件被改得面目全非。 为了避免发送多次,干脆一刀切,全部只读。以后“教会”用户学会另存到本地修改。
说是这么说,不过你要是问 “刚入职,发现公司做的产品本地文件在多次转发后会复制多份存储,而且都设置为只读,要如何改进解决这个问题?” 大家肯定有一个算一个都回答你:能用吗?能用就不要改。 那你猜去腾讯的会不会这么想。。。