Zip compression/decompression on the Apache Cordova / PhoneGap platform
cordova plugin add cordova-plugin-zeep
cordova plugin remove cordova-plugin-zeep
from : [string] the path/url of the folder whose contents you want to compress
to : [string] the path/url of the zip file that you want to produce
from : [string] the path/url of the zip file that you want to decompress
to : [string] the path/url of the folder in which you want to deposit the contents of the zip file
var source = cordova.file.applicationDirectory,
zip = cordova.file.cacheDirectory + 'source.zip',
extracted = cordova.file.cacheDirectory + 'extracted';
console.log('source : ' + source );
console.log('zip : ' + zip );
console.log('extracted : ' + extracted);
console.log('zipping ...');
Zeep.zip({
from : source,
to : zip
}, function() {
console.log('zip success!');
console.log('unzipping ...');
Zeep.unzip({
from : zip,
to : extracted
}, function() {
console.log('unzip success!');
}, function(e) {
console.log('unzip error: ', e);
});
}, function(e) {
console.log('zip error: ', e);
});
(+ other angular-based frameworks -> Ionic, Mobile Angular UI, LumX, MEAN, Angular Foundation, ...)
var app = angular.module('MyApp', ['ngCordova.plugins.zeep'])
...
app.controller('MyController', function($scope, $cordovaZeep) {
var source = cordova.file.applicationDirectory,
zip = cordova.file.cacheDirectory + 'source.zip',
extracted = cordova.file.cacheDirectory + 'extracted';
console.log('source : ' + source );
console.log('zip : ' + zip );
console.log('extracted : ' + extracted);
console.log('zipping ...');
$cordovaZeep.zip({
from : source,
to : zip
}).then(function() {
console.log('zip success!');
console.log('unzipping ...');
$cordovaZeep.unzip({
from : zip,
to : extracted
}).then(function() {
console.log('unzip success!');
}, function(e) {
console.log('unzip error: ', e);
});
}, function(e) {
console.log('zip error: ', e);
});
});
Apache 2.0
If you find this plugin useful, perhaps you can buy me a beer :)