微信传文件为什么变糊:三条通道、md5 验证法与 14 天过期(2026)

Updated on in apps

上个月给一个客户发设计稿,微信里点了原图,对方回我一句"图有点糊,能不能重新发"。

我以为是压缩的问题,于是又发了一遍,还是糊。第三次我学乖了,让他把收到的文件另存下来,把字节数报给我——比我原图少了 87%。那次之后我才认真去搞清楚:微信到底在哪一步动了我的文件,以及为什么我明明点了"原图"还是被动了。

结论有点反直觉:微信不是"所有文件都压缩",它是三条通道、三套规则。你从哪个入口发,决定了文件会不会被处理。而界面上没有任何提示告诉你现在走的是哪一条。

这篇不讲"五种发原图的方法"——那种列表你在任何地方都能搜到,而且大部分互相抄。这篇讲三件事:怎么用 md5 自己验出压缩发生在哪一步、压缩为什么不可逆、以及哪些场景根本不该用微信。

先说结论:微信有三条通道,只有一条不动你的文件

你从哪发微信做了什么后果
聊天框「相册」发图片重新编码 + 缩尺寸画质损失,EXIF 基本清空
聊天框发视频强制转码(降分辨率、降码率)4K 素材基本废掉
「文件」入口发任意文件原始字节封装上传不变,但接收方要手动下载

三条通道里,只有「文件」这条是真的搬运。前两条都是"为了让对方看得顺"做的重处理——这个设计本身没错,微信要照顾的是绝大多数只想快速看一眼的人,不是要交付素材的人。问题在于它没有把这件事说清楚,很多人以为"我发了就是原样到了"。

有一个很简单的现场判断法:图片消息的下方如果显示「原图」两个字,说明对方拿到的可能是原始文件;如果什么标记都没有,那就是被处理过的。但这个方法只能看"有没有标",看不出"差多少"。

别用眼睛判断糊不糊,用 md5

"感觉有点糊"是个非常不靠谱的判断。显示器不同、缩放不同、微信自己的预览缓存,都能让你误判。要确认压缩,只有一个办法:比字节。

发之前,在电脑上算一遍:

# Windows PowerShell:算原始文件的哈希和大小
Get-FileHash "D:\素材\客户稿.png" -Algorithm MD5 |
    Format-List Hash, Path
(Get-Item "D:\素材\客户稿.png").Length

拿到对方的文件后,对收到的那个再算一遍。两个哈希一样 → 没被动过;不一样 → 被重编码了,而且大小差多少就是损失了多少。

(实测:同一张 8.2 MB 的 PNG 设计稿,从"相册"发出去,对方收到 1.1 MB,哈希完全不同;改用"文件"入口发,收到的字节数和哈希跟我本地完全一致。)

这个验证方法有一个前提:让对方另存到本地再算。直接在微信里长按预览看到的大小是缩略图缓存,不是文件本身,很多人就是在这里被误导的。

顺便说,如果你要批量核对,MAC 上更省事:

# macOS / Linux
md5 -q 客户稿.png          # macOS
md5sum 客户稿.png          # Linux
ls -l 客户稿.png           # 看字节数

「原图」到底做了什么,以及为什么还是可能糊

勾选「原图」,本质上是告诉微信:"这张别走图片通道,按文件传。"所以它做的事和「文件」入口是一样的——把原始字节搬过去,不做重编码。

那为什么我点了原图对方还是说糊?我后来复盘出三个原因,都不是微信的锅:

一、对方没点"查看原图"。 微信收到原图后,聊天界面默认还是显示缩略图,用户看到的就是那张小的。他截图、他转发、他用系统相册的"最近项目"里那张缓存——都还是压缩版。这是个纯粹的认知差,不是技术问题。

二、原图也受单次大小和数量的限制。 微信对单次发送有个上限,超了就自动回落到压缩通道,而且不会明确告诉你"我已经压缩了"。具体的数字我不写死——它随版本、账号类型、甚至客户端平台变化,各家的说法互相矛盾。真要传大文件之前,看一眼客户端的提示,或者干脆先用小文件试一次,比记数字可靠。

三、多选时容易漏勾。 一次选 9 张图,"原图"是一个整体开关,但如果你是从某个相册入口进去的,它会默认不勾。这个我踩过:发 12 张图,前 9 张是原图,后面 3 张走的是普通通道,对方没发现,我也没发现,直到交付时对比尺寸才炸。

三步确认对方到底拿到了什么

光看"糊不糊"没意义,按这三步走,结论是确定的:

  1. 让对方另存到本地(手机端长按 → 保存到相册/文件;电脑端右键 → 另存为)。直接在聊天窗口里预览的那个不是文件本身。
  2. 比字节数。差 5% 以内可能只是元数据变化,差 30% 以上基本可以确定被重编码了。
  3. 比哈希。这一步才是判决——字节数接近不代表内容一样。

第 3 步容易被跳过,但我建议别跳。有一种情况特别误导人:带透明背景的 PNG,走图片通道之后会被转成 JPEG,文件体积反而可能变大(JPEG 压不好透明区域),你一看"变大了,肯定没压缩",实际上透明通道已经没了,边缘还出现了白边。

(实测:一张 1.2 MB、带透明背景的图标 PNG,从相册发出去收到 1.4 MB。体积涨了,但透明底变成了白底,边缘一圈脏边——这是最典型的一种"看起来没损失、其实结构已经变了"。)

压缩是不可逆的,别指望事后补救

这是我最想强调的一点,也是最容易被误解的一点:**压缩不是"降个质量",是把信息扔了。**扔掉的部分,任何工具都找不回来。

所以那些"图片被压缩了怎么恢复清晰度"的教程,本质上都是锐化 + 加对比度 + 用 AI 猜细节。猜出来的细节不是你的细节——人脸可能变得更"清晰",但设计稿上的小字会变成假的笔画。

正确顺序是:发之前就该选对通道,而不是发完再想办法。判断标准很简单:

  • 这张图对方要"看" → 相册直接发,压缩反而是优点,省流量省时间
  • 这张图对方要"用"(打印、排版、二次编辑、当素材) → 必须走文件通道
  • 这张图里有文字、表格、线稿 → 必须走文件通道,压缩后的小字最先糊

第三条是我用血换来的。给客户发合同扫描件,从相册发的,对方打印出来金额那栏的数字已经看不出是 6 还是 8。

视频更狠:它是转码,不是压缩

图片还是"重编码",视频是转码——分辨率、码率、帧率全部重算。一段 4K 的素材,经过聊天通道出去,很可能变成 1080p 甚至更低,帧率也会被拉齐。

对拍视频的人来说这条基本是致命的:你以为发的是素材,其实是预览片。而且视频的转码比图片更隐蔽,因为手机上看着"还是挺清楚的"——小屏幕上,1080p 和 4K 的差别你根本看不出来,只有放到大屏或者拉进剪辑软件才会发现。

要发原始视频,还是那条路:「文件」入口。发出去之后对方收到的是个文件图标,不是能直接播放的预览——这恰恰是"没被处理"的证据。

关于"文件过期",官方自己说过是 14 天

这个机制坑过很多人,也因此衍生出一堆"赛博土方"。网上流传最广的一个是:把手机系统时间调到接收日期后的 7 天内,就能把过期文件找回来。

这个是假的。 微信员工 @客村小蒋 公开回应过:微信判断文件是否过期,不看手机本地时间,而是看服务端的客观时间;而且过期期限是 14 天,不是 7 天。更要命的是,随手改系统时间会让之后新存的图片、文件排序错乱,反而制造新问题。(来源:腾讯新闻对微信官方回应的报道,2025 年 8 月)

所以正确的做法只有一条:收到重要文件,第一时间保存到本地或自己的云盘。 别把微信当存储用。

这里有个细节值得说:电脑端微信收到文件后,会把它写进本地目录(Windows 上一般在 文档\WeChat Files\<你的微信号>\FileStorage\File\ 下面按月份分文件夹)。所以一个常见的错觉是"手机上过期了但电脑上还能打开"——那不是没过期,是电脑本地留了一份。清一次缓存就全没了。

(实测:我去年有个项目资料就是这么"存"的,手机端显示过期、电脑端能打开,我以为稳了,重装系统之后一个都没剩。)

三个我踩过的坑

坑一:把小图当原图转发。 群里有人发了张图,你长按转发给客户——转发的是你收到的那张缩略图,不是原图。要发原图,得先点开、点"查看原图"、等它下载完,再转发。

坑二:iPhone 的 HEIC。 iPhone 默认拍 HEIC 格式,从相册发的时候微信会转成 JPEG(所以 Windows 能看),但你要是走"文件"通道发,对方收到的是 .heic,Windows 上双击打不开,得装解码器或者用支持 HEIC 的看图工具。给不熟电脑的人发照片,这一条会让你收到"文件打不开"的求助。

坑三:文件传输助手不是网盘。 它的搜索量高得离谱,很多人拿它当跨设备同步用——手机发过去、电脑取下来。短期这么做没问题,但它本质是聊天消息,一样有 14 天的清理规则。真要长期用,得在电脑端建成一个固定目录,定期归档。

什么场景该用微信,什么场景该换工具

我的判断很简单,按"文件要不要保持原样"来分:

用微信没问题的: 发个文档让对方看、传几张参考图、转发一段短视频。这些场景压缩是加分项,你不需要原样。

该换工具的: 一次要传几十上百张照片、单个文件体积大、需要保留 EXIF 和原始文件名、要发给不熟电脑的人还希望他直接能打开、或者你需要一个能长期放的地方。

这几种情况我现在基本都用 LocalSend:手机和电脑连同一个 WiFi,装好客户端直接互传,不走服务器、不压缩、不转码,原文件名原目录结构都在。它解决的就是"我只是想把文件原样搬过去"这一件事,而这恰恰是微信最不擅长的。具体装法和五个平台的坑我写在《LocalSend 实战:手机和电脑互传大文件》里了。

如果对方是 iPhone、你想用系统自带的方式传,隔空投送其实也能保原图,但它的问题是"找不到人"——这个我单独写过一篇:iPhone 隔空投送找不到联系人,八成是发现机制的问题,不是网络问题。

一张速查表

你要做的事该走哪条路
让对方看一眼相册直接发,越压越好
交付设计稿 / 打印 / 二次编辑文件入口,发完用 md5 核对
传原始视频素材文件入口,别用视频消息
一次传几十张照片打包成 zip 走文件入口,或者换 LocalSend
长期存放别用微信,本地目录或云盘
收到重要文件当天保存,14 天后就没了
已经糊了想救回来救不回,重新要原文件

最后一句:微信把"传输"和"交付"混在了一个入口里,而这两件事对文件的要求正好相反。搞清楚自己现在做的是哪一件,比记任何教程都有用。

本文参考了以下资料,结合博主个人经验进行了二次创作: