出问题的那一刻
照片正在从手机或相机存储卡复制,传输中断了,现在图库里只显示灰色方块或报错。如果这张照片别处没有备份,这个错误看起来就像判了死刑。其实往往不是:已经传过来的那部分画面通常还在文件里。
为什么看图软件打不开
JPEG 以描述图片的文件头开始,接着是从上到下写入的压缩图像,最后是结束标记。复制提前中断时,结束标记永远不会到达,很多看图软件干脆拒绝整个文件,而不是显示已有的部分。PNG 把图像存成一个个压缩数据块,每块都有校验和,只要一个块损坏,严格的看图软件就会拒绝它之后的全部内容。
文件会经历什么
工具会读取文件头,沿着图像数据一直读到无法读取为止,然后写出一个以正确方式结尾的新文件。对 PNG,它会逐块检查,并在损坏的片段之后重新接上压缩数据流。不会凭空补画:已经到达的像素原样保留,报告会说明可读数据在哪里中断。
您最终得到什么
被截断的照片打开后,上半部分完好;从未到达的那些行会缺失,通常在底部显示为灰色或空白的条带。中间有损坏片段时,可能留下一条错位或缺失的行。如果 JPEG 的开头丢失,文件头也随之丢失,就没有可用来重建的依据:工具会如实说明,不会写出任何文件。
根据我们的测试,哪些情况有效
在我们测试的所有案例中,JPEG 在文件被截断或中间区域损坏时都能重建。PNG 在被截断、中间损坏、数据错位和零散错误的情况下都能重建。数据错位的 JPEG,以及开头丢失的两种格式,在我们的测试中都没能重建。完整表格见文件类型指南。
开始之前
请在副本上操作,并保留原文件。如果照片来自相机存储卡,在把卡上所有内容复制出来之前请停止使用这张卡,因为新拍的照片可能覆盖剩下的数据。如果别处还有副本,比如云端备份或您发出的消息,那份副本会比任何重建都好。
检查新照片
以原始尺寸打开,查看底部以及画面发生变化的条带。能以原始尺寸打开的照片才是可用的文件;能显示缩略图并不能证明这一点。
常见问题
照片缺失的部分能恢复吗?
不能。从未写入文件的部分无法重建。新照片包含已经到达的部分。
照片会被重新压缩或修改吗?
不会。完好的图像数据原样保留,只重写让文件能被读取的部分。
照片会被上传到任何地方吗?
不会。照片在您设备上的浏览器中读取,绝不会离开您的设备。
来源
本指南参考的文档。
