compress
Table of Contents
Overview
The compress function compresses one or more files into a single ZIP file of .zip format.
- This function cannot return a zip file of size more than 2 MB. If the size exceeds the limit an error will be thrown.
Return Type
Syntax
<variable> = <files>.compress([<compressed_file_name>]);
where,
Parameter | Data type | Description |
<variable> | FILE | The compressed file |
<files> | FILE/ LIST/ KEY-VALUE | Files that need to be zipped
Note: To fetch the name of a file, you can use the get file name task |
<file_name> (optional) | TEXT | Name with which the compressed file needs to be returned Note: Please make sure the file name doesn't contain any restricted characters. |
Example 1: Compress a file
The following example compresses a file fetched from cloud:
file1 = invokeUrl [ url :"http://www.africau.edu/images/default/sample.pdf" type : GET ]; zip_file = file1.compress("compressed_file");
where:
zip_file
Example 2: Compress more than one file
The following example compresses a list of files and returns a compressed .zip file:
// Fetch .pdf file file1 = invokeUrl [ url :"http://www.africau.edu/images/default/sample.pdf" type : GET ]; // Fetch .jpg file file2 = invokeUrl [ url :"https://upload.wikimedia.org/wikipedia/commons/a/a7/Blank_image.jpg" type : GET ]; // Create a list to add files that need to be compressed filesList = List(); filesList.add(file1); filesList.add(file2); // Perform compress function zip_file = filesList.compress("compressed_file");
Example 3: Compress file and format them in directories
The following example compresses two files and arranges in the structure:
- Directory 1 contains File 1 and Directory 2
- Directory 2 contains File 2
// Fetch .pdf file file1 = invokeUrl [ url :"http://www.africau.edu/images/default/sample.pdf" type : GET ]; // Fetch .jpg file file2 = invokeUrl [ url :"https://upload.wikimedia.org/wikipedia/commons/a/a7/Blank_image.jpg" type : GET ]; // Create a map to add files in directory structure directory2 = Map(); directory2.put(file2.getfilename() ,file2); directory1 = Map(); directory1.put(file1.getfilename() ,file1); directory1.put("Directory 2" ,directory2); // Perform compress function zip_file = directory1.compress("Directory 1");
where:
zip_file
directory1
"Directory 1"