The /file/compress Robot

We can both archive and extract entire media libraries.

The /file/compress Robot creates archives of files or file conversion results.

Parameters

Name Type Default Description
format String "tar" The format of the archive to be created. Supported values are "tar" and "zip". Note that "tar" without setting gzip to true results in an archive that's not compressed in any way.
gzip Boolean false Determines if the result archive should also be gzipped. Gzip compression is only applied if you use the "tar" format.
compression_level Integer -6 Determines how fiercly to try to compress the archive. -0 is compressionless, which is suitable for media that is already compressed. -1 is fastest with lowest compression. -9 is slowest with the highest compression. If you are using -0 in combination with the tar format with gzip enabled, consider setting gzip to false instead. This results in a plain Tar archive, meaning it already has no compression.
file_layout String "advanced" Determines if the result archive should contain all files in one directory (value for this is "simple") or in subfolders according to the explanation below (value for this is "advanced"). Files with same names are numbered in the "simple" file layout to avoid naming collisions.

Live demos

Our /file/compress Robot can be used in combination with other Robots, to create powerful workflows unique to your use case.
Here are a few example scenarios, and the required Assembly Instructions to implement them.
You can also try demos of these examples right here, live on our website.

Create a gzipped tar archive containing multiple result files

{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "resized": {
      "use": [":original"],
      "robot": "/image/resize",
      "height": 100,
      "imagemagick_stack": "v1.0.0",
      "width": 100,
      "zoom": false
    },
    "archived": {
      "use": {"steps":[":original", "resized"],"bundle_steps":true},
      "robot": "/file/compress",
      "result": true,
      "format": "tar",
      "gzip": true
    },
    "exported": {
      "use": ["resized", "archived", ":original"],
      "robot": "/s3/store",
      "credentials": "demo_s3_credentials"
    }
  }
}

Create a Zip file for each uploaded file

{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "archived": {
      "use": [":original"],
      "robot": "/file/compress",
      "result": true,
      "format": "zip"
    },
    "exported": {
      "use": ["archived", ":original"],
      "robot": "/s3/store",
      "credentials": "demo_s3_credentials"
    }
  }
}

Create a single Zip file containing all uploaded files

{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "archived": {
      "use": {"steps":[":original"],"bundle_steps":true},
      "robot": "/file/compress",
      "result": true,
      "format": "zip"
    },
    "exported": {
      "use": ["archived", ":original"],
      "robot": "/s3/store",
      "credentials": "demo_s3_credentials"
    }
  }
}

Blog posts about our /file/compress Robot

Over the years we wrote the following posts about our /file/compress Robot on our blog:

Did you know?

You can easily combine Robots to create powerful workflows, unique to your business.
This is the power of Transloadit.