¿Qué es Zeta Uploader?


Zeta Uploader

Envía archivos y carpetas grandes en línea de forma gratuita.

Introducción

En este artículo te mostraré las funciones y los interiores del cliente de Windows del servicio gratuito Zeta Uploader. Aunque esto es (por supuesto) una especie de promoción del servicio, seguro de que el código discutido aquí podría ser de algún valor para otros lectores.

¿Qué es Zeta Uploader?

Zeta Uploader es un servicio central que funciona en un servidor web al que se pueden subir archivos de gran tamaño y dejar que genere mensajes de correo electrónico con un enlace de descarga.

La idea básica es evitar el envío de archivos, especialmente los de gran tamaño, por correo electrónico, y en su lugar subirlos al sitio web de Zeta Uploader y enviar al receptor simplemente un enlace de descarga del archivo real.

Los archivos adjuntos de los mensajes de correo electrónico tienen limitaciones tanto de tamaño como de contenido, ya que la mayoría de las cuentas limitan el tamaño máximo de los archivos adjuntos a unos pocos MB. También suelen bloquearse algunos tipos de archivos adjuntos, por ejemplo, los archivos ejecutables. Mediante el uso de Zeta Uploader, un usuario puede evitar estas limitaciones.

Las ventajas de Zeta Uploader

Zeta Uploader tiene algunas ventajas sobre otros servicios como YouSendIt o RapidShare. No necesitas crear ninguna cuenta en absoluto, simplemente sube y listo. Además, el servicio es completamente gratuito. Por último, se eliminan los archivos subidos automáticamente después de 30 días, lo que parece ser más tarde que otros servicios.

Los componentes de Zeta Uploader

El cargador Zeta consiste en tres partes:

  • Un sitio web con algunos formularios para subir un archivo a través de cualquier navegador. Se puede acceder directamente en www.zeta-uploader.com
  • Cliente de Windows. Instala en tu máquina local para subir múltiples archivos y/o carpetas con unos simples clics en el Explorador de Windows
  • Un servicio web con el que los clientes de Windows se comunican para cargar los datos.

 

El cliente de Windows

El cliente de Windows es una aplicación de formularios de Microsoft .NET Framework 2.0 Windows, es decir, para poder utilizarlo, el .NET Framework debe estar instalado en el sistema.

Una vez instalado, el usuario tiene varias opciones para subir un archivo:

  • Seleccionar varios archivos y/o carpetas en el Explorador de Windows, luego hacer clic con el botón derecho del ratón y seleccionar «Enviar a» | «Cargar con Zeta Uploader».
  • Inicia el cliente de Windows desde el menú de inicio y añade archivos y carpetas de forma interactiva a través del elemento de menú «añadir».
  • Inicia el cliente de Windows desde el menú de inicio y agrega archivos y carpetas mediante el método de arrastrar y soltar.
  • Una vez que el usuario introduce uno o varios receptores y añade un comentario opcional, hace clic en el botón «Subir ahora».

 

Todos los archivos y carpetas seleccionados se comprimen localmente en un único archivo ZIP para reducir el tamaño de la carga. Después de la compresión, el archivo comprimido se sube al servidor a través de llamadas de servicios web (SOAP).

El servicio web

El servicio web consiste en el servicio web propiamente dicho en el servidor web (archivo ASMX) y en las clases envolventes (las clases «proxy») que se utilizan dentro del cliente Windows para comunicarse con el servicio web.

SOAP es el protocolo de comunicación (en contraste con, por ejemplo, FTP) porque tiene múltiples beneficios como el desarrollo realmente fácil dentro de Visual Studio .NET y porque está basado en HTTP que la mayoría de los cortafuegos permiten pasar fácilmente.

Subidas en partes

El enfoque más ingenuo para subir un archivo sería tener un método web como este:

Desafortunadamente esto falló varias veces en el pasado: Especialmente cuando se suben archivos grandes, es bastante probable que la subida se interrumpa durante el proceso, debido a varias razones.

Así que se desarrolló un enfoque diferente para hacerlo más tolerante a los errores:

En lugar de subir un bloque gigante de bytes, el proceso de subida ahora envía múltiples bloques más pequeños («chunks»), actualmente 50 KB por bloque

Además, cada bloque podría fallar varias veces (actualmente 4 veces) antes de que se considere que la carga completa ha fallado. Esto permite problemas temporales de conexión sin cancelar la carga completa

Un contador de reintentos global limita el número total de reintentos, de modo que el sistema también detecta un error de red permanente

Cada bloque cargado contiene un número de bloque ascendente, lo que permite al servidor detectar paquetes perdidos

La parte de la web está contenida dentro del proyecto web llamado «Web».

Se recomienda descargar el código del artículo y abrirlo dentro de Visual Studio .NET 2005.

Lo que puedes hacer con el código

Tienes varias cosas que podrías hacer con el código:

Por ejemplo, podrías tomar el núcleo de la biblioteca de comunicación del servicio web y ponerlo en tus propios proyectos donde necesitas una funcionalidad de subida tolerante a los errores. Puedes incluso mejorar el proceso de carga aún más; por ejemplo, con capacidad de continuar una carga previamente interrumpida.

Otra opción sería simplemente tomar la fuente del cliente de Windows y mejorarla o incluirla en su propia aplicación, sin dejar de comunicarse con el servidor web del propio servidor. Así que sólo se mejora el cliente pero se reutiliza el servidor.

Por último, podrías simplemente tomar el código fuente y construir tu propio entorno completo e independiente en el que configuras tu propio servidor web y compilas tu propio cliente Windows (posiblemente mejorado).

0/5 (0 Reviews)

Deja un comentario