QQ邮箱里面提取的超大附件137M的压缩包为什么下载完每次都是说 crc失败 文件被损坏

如题所述

原因有几种:
(1)网络传输状况不好(如断线过多,开的线程过多,服务器人太多导致不能连接太多等)导致下载下来的文件损坏!

(2)站点提供的的RAR压缩包本来就是损坏的(这就没办法了,除非此压缩包中含有回复记录)。

(3)所使用的下载工具不够完善,比如有的下载工具多开了几个线程后,下载的收尾工作很慢,有些时候下载到99%时数据就不再传输了,一定要人工操作才能结束(先停止下载接着再开始)。笔者就碰到过好几次这样的情况。结果是文件下载下来以后解压缩到快结束时CRC出错。

应急解决
1.利用恢复记录
想要修复CRC是有条件的,必须是此RAR压缩包中有恢复记录,而此恢复记录是RAR压缩包被压缩时的可选项。

而WinRAR压缩时默认是不放置恢复记录的,如果提供的是这样的RAR压缩包,那么用户自己想要修复CRC错误是不可能的。

2.釜底抽薪
如果RAR压缩包中的文件是那种即使文件有缺失仍能正常或较为正常地使用的(其实大多数的文件对部分数据损坏都不是非常敏感的),那便可以使出我们的终极杀招:釜底抽薪法!

其原理就是让RAR压缩包内损坏的文件解压缩出来,不理会WinRAR的警告,能解压多少就解压多少。解压缩软件还是用WinRAR,不过要做小小的设置。

在右键点击解压缩文件后跳出的窗口里,把“保留被损坏的文件”复选框选中,点击确定开始解压缩。不要理会解压缩出错的信息,解压缩结束之后你会发现损坏的文件被解压出来了。经过这样解压出来的损坏文件能正常使用的几率还是非常高的。

参考资料:http://wenda.tianya.cn/wenda/thread?tid=3e74e611e6f8fc77

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-24
我采用的方法很简单:在没有解压完(提示出错的情况下)拷贝文件到其它目录,等解压完成,OK,文件依然好用,这个方法应该是有针对性地,还是枚举一下网络的做法。
网络的方法:
办法一:WinRAR本身就带有压缩包修复功能。点击菜单“工具”下的“修复压缩文件”即可,快捷键是“ALT+R”。此法可修复一部分压缩包的常规错误,但是成功率不高。你可以试着连续修复几次。WinRAR的这个功能对压缩包里有很多文件且文件容量都比较小的情况比较适用。
办法二: 打开压缩包(不是解压,而是用WinRAR打开),选中你要解压缩的文件,单击鼠标右键,在弹出的菜单里选择“无需确认直接解压缩”,快捷键是“ALT+W”。用此方法,不管是好的压缩包还是坏的压缩包,统统畅行无阻,成功率100%!
办法三:釜底抽薪法!
其原理就是让RAR压缩包内损坏的文件解压缩出来,不理会WinRAR的警告,能解压多少就解压多少。解压缩软件还是用WinRAR,不过要做小小的设置。
在右键点击解压缩文件后跳出的窗口里,把“保留被损坏的文件”复选框选中,点击确定开始解压缩。不要理会解压缩出错的信息,解压缩结束之后你会发现损坏的文件被解压出来了。经过这样解压出来的损坏文件能正常使用的几率还是非常高的。
做好保险工作
1.做好恢复记录
原始RAR压缩包在压缩时,如果选择放置恢复记录,这样用户下载后即使CRC出错也有自己修复的机会!
2.采取分卷压缩
采取分卷压缩的方法便可较大地减少因为出现不可恢复的错误带来的损失。
3.老文件也加恢复记录
有人也许会问,新压缩的RAR压缩包可以加入恢复记录,那么已经压缩过的RAR包有没有办法也加上恢复记录呢?给已经压缩好的RAR压缩包加上恢复纪录是有办法的。
只需要打开压缩包,在“命令”菜单中选择“保护档案文件”即可。
小常识:
其实RAR压缩包出错的解决方法主要是以预防为主!如果没有预防,等到真正出了问题,技术上也是没办法完美解决的!像循环冗余校验码(CRC)出错这种情况,如果RAR压缩包不包含恢复记录的话,用户自己想要修复CRC是不可能的!本文的主要目的是想告诉大家一些出错的原因以及讨论一些从根本上预防出错和把损失减少到最小的办法而已!
附:
1.CRC算法原理
CRC是Cyclic Redundancy Code的缩写,翻译成中文就是“循环冗余码”,它采用多项式编码方法,是一种高效的差错控制方法。所谓的CRC32也就是32位的CRC算法,这就是前面介绍的SFV采用的算法。由于CRC算法编码和解码方法简单,检错和纠错能力强,因此在通信、卫星、控制等领域都有着广泛的应用,在我们的电脑中,也被广泛应用于压缩,光盘刻录、数据存储等方面。
其实说到CRC,大家更多想到的就是压缩软件,因为许多朋友都遇到过压缩软件提示“CRC错误”,这实际上就是一种文件校验过程,只不过这个过程被自动化了:压缩软件在压缩文件时自动在压缩包内添加CRC校验信息,在解压缩时会自动对CRC进行校验,检查文件是否完整和正确。
实战:CRC错误的解决方法
现象一:最近WinRAR不论解压缩什么文件,都是提示“CRC 校验失败,文件被破坏”。
解决方案:出现这种情况,可能是WinRAR的临时文件保存出现了问题,一般只需要打开系统临时目录(Windows 2000/XP下为\Documents and Settings\用户名\Local Settings\Temp),删除其中名为“Rar$DI00.*”之类的文件夹即可。
现象二:刚下载的一个软件压缩包,使用WinRAR解压时提示某个文件“CRC 校验失败,文件被破坏”。
解决方案:这种情况可以判断是那个压缩包出了问题,但很多情况下出现CRC错误时并不代表整个压缩包都已经坏掉,很可能只是某个文件有部分损坏。你可以尝试使用“命令”菜单中的“修复压缩文件”,一般可以解决部分CRC错误的问题。如果仍然不能解决,你可以尝试一下强制解压技巧:首先打开压缩包,选择除那个CRC错误文件以外的所有文件,先将正常的文件解压出来,然后解压那个出错的文件,当提示CRC错误信息时,不要点击任何确认按钮,打开“资源管理器”,找到解压后的文件保存路径,可以看到那个出错的文件实际已经被解压了,把它复制到其他文件保存的文件夹中,然后再试试看程序能否正常运行,很多情况下,如果这个文件不是可执行程序,对运行的影响不是很大。
简单方便的WinRAR用户身份校验
WinRAR本身除了具备CRC自动校验功能外,还为用户提供了专门的身份校验功能,可以帮助用户了解自己的压缩包是否被人修改过。
实战:制作一个“只许用不许改”的压缩包
在“资源管理器”中选择要压缩的文件,单击鼠标右键,选择“添加到压缩文件”,打开“压缩文件名和参数”窗口,勾选“压缩选项”中的“添加用户身份校验信息”选项,单击“确定”按钮生成压缩包。
双击打开这个压缩包,可以在地址栏中看到“用户校验信息存在”的提示,单击菜单“命令→显示信息”打开对话框,在“用户身份校验信息”栏中可以看到该压缩包的文件名、创建者以及创建日期信息(见图1),记下这些信息,尤其是“创建者”中的信息。
现在你可以把这个压缩包提供给接收方,并同时提供用户身份校验信息。当对方打开这个压缩包时,可以打开“显示信息”对话框,并与你提供的身份校验信息进行比对,如果完全一样的话,说明压缩包没有被修改过,如果身份校验信息不存在或者有了变化,则说明压缩包已经被修改过了。
小提示
该功能需要使用注册版的WinRAR,因为身份校验信息就是根据注册用户名来生成的,一个被添加了身份校验信息的压缩包被重新修改时,将丢失身份校验信息,这就是它的校验原理。
第2个回答  2011-04-26
这是在腾讯服务器上的文件本身就已经损毁了!
你可以试试转存的QQ邮箱的随身盘试试看是否能用!
第3个回答  2011-04-24
说明文件坏了,重新传吧
相似回答