ziptgz-cloudinary-teaser_en

Generación dinámica de archivos Zip/TGZ con una línea de código

Cuando trabaje en proyectos web con muchos medios, tendrá que administrar grandes conjuntos de imágenes y, en algún momento, tendrá que compartir estas imágenes con otros. Compartir colecciones es más eficiente cuando las imágenes están archivadas porque permite una transferencia más sencilla entre servidores y garantiza que las imágenes se puedan entregar en un paquete de tamaño relativamente más pequeño.

También es posible que deba transformar estos conjuntos de imágenes antes de archivarlos y compartirlos. Esta estrategia es común porque ayuda a optimizar los archivos que se envían de una máquina a otra, en escenarios como:

  • Correo electrónico: los proveedores, como Gmail, ahora ofrecen funciones que permiten a los usuarios descargar todos los archivos adjuntos de un correo electrónico determinado como archivos archivados.
  • Escuelas y tutores en línea: empresas como Udacity y Pluralsight permiten la descarga de cursos, que contienen ejercicios, imágenes y videos, que se pueden crear con un solo clic, ya que los archivos archivados se envían directamente a su computadora.
  • Copias de seguridad automatizadas: estas copias de seguridad se realizan archivando todos los archivos multimedia en el servidor.

Si su proyecto implica cargar, transformar, comprimir y compartir imágenes, normalmente debe reservar varias horas para completar estas tareas, escribiendo numerosas líneas de código para respaldar los esfuerzos. El proceso típico generalmente requiere:

  1. Subir imágenes al servidor a través del navegador
  2. Transformar imágenes en su servidor con fines de optimización
  3. Archivar imágenes usando una lógica bastante compleja
  4. Descarga de un archivo archivado

Cada uno de los pasos anteriores requiere tiempo y esfuerzo para completarse. Pero no tiene por qué ser tan complejo. Una solución de nublado, un proveedor líder de gestión de imágenes y videos basada en la nube, le permitirá condensar estos pasos en una sola línea de código.

Generación de archivos ZIP/TGZ de imágenes con Cloudinary

Con Cloudinary, podemos abordar el complejo proceso de archivar y compartir imágenes rápidamente y con solo una línea de código.

Cloudinary admite la generación de archivos ZIP/TGZ utilizando el generate_archive Subir API método. Este enfoque puede incluir cualquier tipo de archivo y habilita opciones para determinar qué archivos incluir en el archivo de almacenamiento. Por ejemplo, puede elegir según el nombre del archivo, todos los archivos en la misma carpeta o algún otro criterio. Cloudinary también le permite aplicar transformaciones a todas las imágenes antes de incluirlas en el archivo y configurar varias opciones para generar el archivo de almacenamiento, como nombrar el archivo.

Esta es una forma en que Cloudinary le permite archivar y compartir imágenes:

https://api.cloudinary.com/v1_1/demo/image/generate_archive?api_key=373364719177799&expires_at=1557919777&mode=download&public_ids%5B%5D=fat_cat&public_ids%5B%5D=kitten&public_ids%5B%5D=hungry_cat&signature=a2f86b73d32d2a778493d6759d59059d0a30076d&timestamp=1464179836&transformations=c_scale% 2Cw_200

Si hace clic en el enlace de arriba, puede descargar un archivo de imágenes de gatos. El parámetro de firma es obligatorio y se genera con sus credenciales mediante el SDK de Cloudinary. Veamos ahora cómo realizar estas tareas en nuestros diversos entornos de desarrollo, utilizando el SDK.

Tenemos dos opciones para archivar archivos de imagen:

  1. Creación previa de una imagen zip/TGZ utilizando sus imágenes en la nube en función de parámetros específicos
  2. Usar una URL dinámica para descargar imágenes existentes de su nube como un archivo, que es el enfoque adoptado con el ejemplo de imagen de gato anterior.

Mirando más de cerca estas dos opciones, entraremos en detalles sobre el proceso de generación del enlace de archivo.

Creación previa y carga de archivos ZIP/TGZ de imagen

Para crear previamente un archivo ZIP/TGZ, use el create_zip Método SDK. Con esto, puede cargar automáticamente el archivo comprimido en la nube y luego proporcionar a sus usuarios un enlace para descargarlo. Esta opción es mejor si varios usuarios van a descargar el archivo resultante.

La opción de creación previa crea un archivo de almacenamiento en función de los parámetros que proporcione. La respuesta a las solicitudes de archivo nos proporciona una URL para descargar los archivos.

La siguiente línea muestra cómo crear un archivo que contenga imágenes de nuestros archivos etiquetados en la nube. cat:

// JavaScript
cloudinary.v2.uploader.create_zip(
    { tags: 'cats', resource_type: 'image', 
    target_public_id: 'cute_cats.zip', transformations: {
        width: 50, height: 50, crop: 'fill'}},
    function(error,result) {console.log(result) });
// PHP
CloudinaryUploader::create_zip(array(
    'tags' => 'cats', 'resource_type' => 'image', 
    'target_public_id' => 'cute_cats.zip', 'transformations' => array(
        'width' => 50, 'height' => 50, 'crop' => 'fill')));
# Ruby
Cloudinary::Uploader.create_zip(:tags => 'cats', 
    :resource_type => 'image', :target_public_id => 'cute_cats.zip',
    :transformations => {:width => 50, :height => 50, :crop => :fill})

Código postal creado

Luego podemos obtener acceso al archivo archivado usando el método de imagen:

// JavaScript
cloudinary.image("cute_cats.zip")
// PHP
cl_image_tag("cute_cats.zip")
# Ruby
cl_image_tag("cute_cats.zip")

URL dinámicas para descargar imágenes archivadas

Otra opción es generar una URL firmada para crear un archivo ZIP/TGZ sobre la marcha y bajo demanda. El archivo ZIPTGZ se crea y se envía a su usuario solo cuando se accede a la URL. El archivo ZIP/TGZ resultante no se almacena en caché ni se almacena en su cuenta de Cloudinary, por lo que esta opción es ideal para compartir imágenes con un solo usuario.

El método SDK para completar esto es download_zip_url, que también toma los parámetros de las imágenes que necesitamos descargar y devuelve una URL para descargar el archivo archivado:

// JavaScript
cloudinary.v2.utils.download_zip_url(
    { public_ids: ['cat3_tqjcms', 'cat4_atunfc', 'cat5_rp7bpa'], resource_type: 'image', transformations: {
        width: 50, height: 50, crop: 'fill'}},
    function(error,result) {console.log(result) });
// PHP
CloudinaryUtils::download_zip_url(
    array(
        'public_ids' => array('cat3_tqjcms', 'cat4_atunfc', 'cat5_rp7bpa', 'transformations' => array(
        'width' => 50, 'height' => 50, 'crop' => 'fill')), 
        'resource_type' => 'image'));
# Ruby
Cloudinary::Utils.download_zip_url(
    :public_ids => ['cat3_tqjcms', 'cat4_atunfc', 'cat5_rp7bpa'], 
    :resource_type => 'image',
    :transformations => {:width => 50, :height => 50, :crop => :fill})

El código anterior genera la URL como la que se muestra anteriormente, que puede usar para descargar el archivo. Es importante tener en cuenta que la URL contiene una fecha de vencimiento, que por defecto es de una hora, pero se puede extender con expires_at al configurar la opción de descarga.

La alternativa del archivo

Hemos estado usando los términos zip y archive indistintamente en esta guía. Este es un fenómeno muy común pero son bastante diferente.

Los ejemplos son para archivos ZIP/TGZ, pero Cloudinary también admite archivos. create_archive y download_archive_url son los métodos API alternativos de archivo para la creación previa de archivos y la descarga de archivos, respectivamente.

Los métodos reciben los mismos argumentos que las alternativas ZIP/TGZ. La diferencia está solo en el nombre y la salida.

El uso de una sola línea de código para generar archivos ZIP/TGZ ofrece numerosos beneficios cuando se trata de organizar, simplificar, normalizar y optimizar la entrega de múltiples imágenes. Cloudinary le brinda opciones que se adaptan mejor a sus necesidades, ya sea creando el archivo ZIP y subiéndolo a la nube, o generando una URL dinámica que crea y entrega el archivo ZIP/TGZ a pedido.

Esta breve guía le brinda una alternativa rápida y fácil para mover colecciones de imágenes mediante el uso de la función de archivo de Cloudinary, que también le permite transformar y optimizar imágenes antes de crear un archivo.

¿Quieres probarlo tú mismo? Vaya al sitio web de Cloudinary y pruebe la solución gratis.

Descargo de responsabilidad: este artículo está patrocinado por Cloudinary.

#Generación #dinámica #archivos #ZipTGZ #con #una #línea #código

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *