An open API service indexing awesome lists of open source software.

https://github.com/appcelerator-modules/ti.compression

Compress your files to reduce storage
https://github.com/appcelerator-modules/ti.compression

titanium-module

Last synced: 4 months ago
JSON representation

Compress your files to reduce storage

Awesome Lists containing this project

README

        

# Ti.Compression Module

## Description

Lets you zip and unzip files.

## Getting Started

View the [Using Titanium Modules](http://docs.appcelerator.com/platform/latest/#!/guide/Using_Titanium_Modules) document for instructions on getting
started with using this module in your application.

## Accessing the Ti.Compression Module

To access this module from JavaScript, you would do the following:

```js
var Compression = require('ti.compression');
```

## Functions

### string zip(string archiveFile, string[] fileArray)

Compresses all of the files you pass in "fileArray" to the specified "archiveFile".

#### Arguments

* string archiveFile: The path to the archive file to create
* string[] fileArray: An array of files to compress

Returns the string "success" if the operation succeeded, or an error message if something went wrong.

### string unzip(string destinationFolder, string archiveFile, bool overwrite)

Extracts the files in the archive file into the destination folder, optionally overriding existing files.

#### Arguments

* string destinationFolder: The destination folder for the extracted files
* string archiveFile: The path to an existing compressed archive file
* bool overwrite: Indicates if existing files should be overwritten

Returns the string "success" if the operation succeeded, or an error message if something went wrong.

## Usage

To create an archive:

```js
var result = Ti.Compression.zip('test.zip', [ 'a.dat', 'b.dat', 'c.dat' ];
```

To extract an archive:

```js
var result = Ti.Compression.unzip(Ti.Filesystem.applicationDataDirectory + 'data', 'test.zip', true);
```

See example for more details.

## zip Parameter

Android:
* filename:String, files:Array, options: Object [compression: Compression.BEST_SPEED | Compression.DEFAULT_COMPRESSION | Compression.NO_COMPRESSION]

iOS:
* filename:String, files:Array

## Create demo files

Create demo files

good compression (no content)
```bash
truncate -s 5M file1.dat
```

Bad compression (random content)
```bash
dd if=/dev/urandom of=file1 bs=5M count=1
```

## Author

Clint Tredway

## License

Copyright(c) 2010-present by Axway Appcelerator. All Rights Reserved. Please see the LICENSE file included in the distribution for further details.