微信文件存储,技术大牛的你应该如何解决问题?

2023-03-07 08:01:49 +08:00
 leaves615
最近一段时间看新闻,很多针对微信传输的文件在各平台存储的问题上有过针对性的批评。主要集中在以下两点。
1. 本地文件在多次转发后会复制多份存储,没转发一次就会创建一个副本。导致微信本地文件占用空间越来越大,几十个 G 甚至更多。
2. 微信把本地文件设置为只读权限,影响了直接打开编辑,导致非常的不方便。

v's:如果是你来负责微信的本地存储功能,你会如果解决这个问题呢?让体验达到最优。
4855 次点击
所在节点    问与答
37 条回复
kontttt
2023-03-07 09:47:35 +08:00
微信文件存储每一个都会追加特殊内容用于溯源,看似同一个但不同场景里就会是非同一份文件
zpxshl
2023-03-07 10:08:42 +08:00
@Mithril 不知道在腾讯会怎样,在我们部门的话,发现这种问题得赶紧写文档,再发出来宣布主权并编码优化,都是绩效呢...
otakustay
2023-03-07 11:27:21 +08:00
我觉得微信的处理方式没有问题,安卓加上 write on copy 就好了嘛
icyalala
2023-03-07 12:31:19 +08:00
@litguy 那你就需要考虑用户修改或者替换某个文件的可能,尤其是发送过程中修改,还有 md5 校验的耗时
callmesmc
2023-03-07 12:47:36 +08:00
节省服务器开支,直接本地存一份,并且不让你改,只要下载一次就行
hhjswf
2023-03-07 12:52:28 +08:00
云端存储就要开会员了,龙哥又不傻
litguy
2023-03-07 14:39:14 +08:00
@icyalala MD5 不耗时,微信的图片没多大,这个不用考虑,我们平常按块计算 SHA256 ,一秒处理几十万个 IO
icyalala
2023-03-07 14:52:40 +08:00
@litguy 这里说主要说的是文件,发送个几百兆 ppt/pdf 还是很常见的。最近楼主和其他人抱怨的是 Windows 微信在收发文件时会把文件改成只读,然后用户想要修改保存时就会失败。但如果不保护这个文件,发送接收或者验证 md5 就可能有问题,毕竟都会耗时。所以我说如果你只存一份文件也同样需要考虑这种事情。
Ericcccccccc
2023-03-07 15:17:37 +08:00
这个真得加钱.
Bingchunmoli
2023-03-07 15:45:18 +08:00
@leaves615 法律规定必须保存两年以上
zhaidoudou123
2023-03-07 15:48:17 +08:00
说起来 iOS 里 APFS 的复制优化对微信起作用嘛?
Bootis
2023-03-07 20:18:49 +08:00
@icyalala 发送的时候 copy 一个副本发送,你本地编辑为什么会影响发送呢,接收的时候也不存在 md5 验证问题。接收后编辑直接脱离了 “收发文件”这个操作,更不存在问题。
leaves615
2023-03-07 20:49:30 +08:00
@Bingchunmoli 懂的都懂
leaves615
2023-03-07 20:52:54 +08:00
对比了 telegram 。没有提供“打开文件所在的文件夹”这类功能,要想保存到本地,就需要通过下载功能保存。
印象中微信是先有“打开文件所在的文件夹”,后才有上述问题出现。到现在就是一个需求妥协的现状。
icyalala
2023-03-07 21:23:23 +08:00
@Bootis 你所说发送和接收都是 copy 副本来做,就是楼主和楼上抱怨的问题呀。。
Bootis
2023-03-08 09:29:58 +08:00
@icyalala 接收不需要副本,接收后修改跟收发文件已经无关,不需要管 md5 。发送用临时副本发送就好,发送完成不管成功还是失败就删除
icyalala
2023-03-08 09:43:43 +08:00
@Bootis 在微信里这么做不行,因为双方都可能在过了一段时间之后再次查看聊天记录,那记录里面的文件和图片都需要保持发送 /接收时的那个版本。聊天记录还能选择部分来转发,同样也要维持源文件。

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

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

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

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

© 2021 V2EX