如何避免偶尔损坏的下载

时间:2010-07-08 23:08:46

标签: download corrupt

我的网站托管用户需要下载的msi文件。该文件没有什么特别之处。它位于Web服务器上的一个目录中,其中有一个指向用户单击的常规HREF。有时,用户会抱怨他们无法打开msi文件,因为Windows Installer声称该文件已损坏。重新下载文件没有帮助。我最终通过电子邮件将该文件作为通常有效的附件发送。

我的猜测是该文件在用户的浏览器缓存中已损坏,或者可能是用户经历的中间代理缓存。

为什么会这样?是否有一种技术/最佳实践可以最大限度地减少损坏的可能性,或者确保用户在下载过程中损坏时可以获得该文件的最新副本?

2 个答案:

答案 0 :(得分:1)

我的建议是:

  1. 建议用户避免使用IE浏览器(特别是旧版本),因为下载截断,缓存污染......
  2. 建议用户在重新下载文件之前清除缓存。
  3. 在FTP而不是HTTP上托管文件
  4. 为用户提供MD5校验和以验证下载。

答案 1 :(得分:1)

如果原因只是缓存,那么我认为您可以在重新下载文件之前重命名该文件。这也适用于任何代理。

编辑另外,我相信大多数浏览器都不会缓存页面,除非Get和Post参数保持不变。相同的可能通常适用于任何URL。尝试在每次下载的URL末尾添加一个唯一的get(或post)参数。您可以使用当前时间或随机数等。而不是超链接,您可以使用一个按钮,单击该按钮时,将具有唯一参数的表单提交到下载URL。