Error "La carpeta comprimida (zip) no es válida o está dañada" después de descargar el archivo zip, a veces, pero no siempre

Error "La carpeta comprimida (zip) no es válida o está dañada" después de descargar el archivo zip, a veces, pero no siempre

Tengo un archivo zip de ~250Mb ubicado en un servidor HTTP Apache. Varios usuarios se han quejado de una "carpeta zip corrupta" después de descargar el archivo directamente desde el sitio web (aunque el sitio está construido en Drupal pero utiliza el método de descarga pública, por lo que debería ser una descarga directa).

El mensaje de error cuando intentan abrirlo en Windows es:

La carpeta comprimida (zip) no es válida o está dañada

Lo probé yo mismo en Windows XP y usando Firefox 14 e IE8. A veces se descarga y abre correctamente, a veces me sale el error.

Otro usuario tiene Windows 7 y utiliza Internet Explorer y recibió este mensaje después de varios intentos de descarga.

Cuando descargo vía FTP usando Filezilla puedo abrir el archivo zip sin errores.

Como la descarga FTP y HTTP funciona a veces, supongo que el archivo en el servidor no está dañado, pero algo sucede durante la descarga y volver a cargar el archivo no solucionará nada (y lo he intentado).

Creé el archivo zip usando IZArc pero no estoy tan seguro de que el método de creación sea relevante en este caso, ya que a veces funciona.

  1. ¿Qué causa los mensajes de error anteriores?
  2. ¿Por qué sucede algunas veces y no todas las veces?
  3. ¿Qué podría hacer para garantizar que los archivos zip se abran sin errores en el futuro?

Respuesta1

¿Qué causa los mensajes de error anteriores?

Probablemente la descarga esté dañada o truncada (incompleta). Compruebe si el tamaño del archivo descargado es el mismo que el del servidor.

¿Por qué sucede algunas veces y no todas las veces?

La descarga podría truncarse debido a que se interrumpió la conexión, lo cual es algo aleatorio: puede suceder y puede no suceder. Si la calidad de su conexión es mejor, probablemente será menos probable que ocurra.

¿Qué podría hacer para garantizar que los archivos zip se abran sin errores en el futuro?

Proporcione sumas de verificación para todas sus descargas y haga que sus usuarios las verifiquen. Sin embargo, realmente no se pueden evitar los problemas de red. Es posible que desees hablar con tu anfitrión.

Respuesta2

Una cosa que puedes hacer para solucionar el problema es usar hashes MD5 o SHA-1 de ese archivo zip. Supongo que tienes el zip original disponible sin conexión.

UsandoCygwin, puede calcular un hash SHA-1 o MD5 de su archivo zip y luego publicar el resultado. Los hashes son realmente geniales porque se pueden usar para verificar al nivel de bits que un archivo es exactamente igual a otro. Por ejemplo: el hash de un archivo que contiene "0123456789" es 3749f52bb326ae96782b42dc0a97b4c1. El hash de un archivo que contiene "1123456789" es b0b7fa225796be83e7fea1345c13d3dd.

Si no recuerdo mal mi ASCII, solo hay una diferencia de un bit entre las dos cadenas, pero como puede ver, hay una gran diferencia en los hashes resultantes. Publicar un hash MD5 o SHA-1 es algo muy común en el mundo del desarrollo de software, ya que es una muy buena manera de garantizar que sus archivos no estén dañados. Después de publicar el hash MD5/SHA-1, puede pedir a sus clientes que tomen un hash del zip para ver si realmente está dañado o no.

Existen muchas utilidades para Windows, Linux y Mac que generarán hashes MD5 y SHA-1. Utilizo Cygwin porque es gratis.

Respuesta3

Esto suele ocurrir cuando uno de los nombres de archivos de sus carpetas tiene un carácter especial, como comillas ". Tienes que ignorar esos archivos.

Pero es difícil cuando tienes varios miles de archivos, tal vez puedas intentarlo.7 cremalleras.

Respuesta4

Si el archivo en el lado del cliente tiene el tamaño correcto, esta situación podría deberse a una memoria defectuosa en la PC del cliente o a un equipo de red defectuoso en el medio. A menudo, la conmutación aleatoria de bits no es especialmente evidente en muchas aplicaciones, pero cuando se trata de sumas de comprobación que se utilizan para verificar la integridad del archivo, cada bit importa y esos errores se vuelven obvios.

información relacionada