pack
Methods
addMultiToZip
addMultiToZip(
pZipFile,pEntries):void
Adds multiple files to a zip file.
Parameters
string | number | booleanThe path to the zip file.
anyThe entries to be added, as a map: entries[key] = value. key: the path in the zip file, value: the data.
Returns
voidThrows
May throw an exception.
Example
var toZip = {};
toZip["offer.pdf"] = // Here, execute fileIO.getData()
toZip["conditions.txt"] = // Here, execute fileIO.getData()
pack.addMultiToZip("c:\offer_20180102.zip", toZip);
addToZip
addToZip(
pZipFile,pPathInFile,pBytes):void
Adds more files to a zip file on the server.
To perform this action on the client, please use the swing.doClientIntermediate() methods with the swing.CLIENTCMD_ADDTOZIP client command.
If the zip file does not exist yet, it will be created.
Parameters
string | number | booleanThe path to the zip file.
string | number | booleanThe path within the zip file to which the added file will be saved.
string | number | booleanThe data to be added to the zip file, Base64-encoded as well.
Returns
voidThrows
May throw an exception.
Example
var file = question.askQuestion("Which zip file?", question.QUESTION_FILECHOOSER, "");
if (file != null)
{
var infile = question.askQuestion("Which file to add?", question.QUESTION_FILECHOOSER, "");
if (infile != null)
{
var data = swing.doClientIntermediate(swing.CLIENTCMD_GETDATA, new Array(infile, util.DATA_BINARY));
var newzip = pack.addToZip(file, "offer20180102/offer.doc", data);
}
}
deflate
deflate(
pOrginalBytes):string
Compresses the bytes you passed using the DEFLATE algorithm.
Parameters
string | number | booleanThe data to be compressed (Base64 encoded).
Returns
stringThe packed data (Base64 encoded).
Throws
May throw an exception.
Example
var file = question.askQuestion("Which file?", question.QUESTION_FILECHOOSER, "");
var data = swing.doClientIntermediate(swing.CLIENTCMD_GETDATA, [file, util.DATA_BINARY]);
question.showMessage(data.length);
var zData = pack.deflate(data);
question.showMessage(zData.length);
var uData = pack.inflate(zData);
question.showMessage(uData.length == data.length);
getFromZip
getFromZip(
pZipFile,pPathInFile):string
Extracts a file from a zip archive.
Parameters
string | number | booleanThe path to the Base64-encoded zip file.
string | number | booleanThe path within the zip file from where to extract the other file.
Returns
stringThe data or 'null' if the file or entry does not exist.
Throws
May throw an exception.
Example
var file = question.askQuestion("Which zip file?", question.QUESTION_FILECHOOSER, "");
if (file != null)
{
var fileinzipname = question.askQuestion("Name of the file?", question.QUESTION_EDIT, "");
// For the sake of simplicity, no check for null
var extractFile = pack.getFromZip(file, fileinzipname);
var dirToStore = question.askQuestion("Location for saving?", question.QUESTION_FILECHOOSER, "");
swing.doClientIntermediate(swing.CLIENTCMD_STOREDATA, new Array(dirToStore, extractfFile, util.DATA_BINARY, false, "UTF-8"));
}
getZipEntries
getZipEntries(
pZipFile):string[]
This method returns the names of the entries within a zip file.
Parameters
string | number | booleanThe path to the Base64-encoded zip file.
Returns
string[]The names of the zip entries, or 'null' if the zip file does not exist.
Throws
May throw an exception.
Example
var file = question.askQuestion("Which zip file?", question.QUESTION_FILECHOOSER, "");
if (file != null)
{
var zipcontent = pack.getZipEntries(file);
question.showMessage(zipcontent.join("\n"));
}
gunzip
gunzip(
pZippedBytes):string
Unpacks the gzip-compressed data you passed.
Parameters
string | number | booleanThe zipped data (Base64-encoded).
Returns
stringThe unzipped data (Base64-encoded).
Throws
May throw an exception.
Example
var zipped = db.cell("SELECT BINDATA FROM ASYS_BINARIES WHERE ID = 'a13f-789bd'");
var unzipped = pack.gunzip(zipped);
gzip
gzip(
pUnzippedBytes):string
Zips the data you passed.
Parameters
string | number | booleanThe uncompressed data (Base64-encoded).
Returns
stringThe compressed data (Base64-encoded).
Throws
May throw an exception.
Example
var fname = question.askQuestion("Which file?", question.QUESTION_FILECHOOSER, "");
var data = swing.doClientIntermediate(swing.CLIENTCMD_GETDATA, [fname, util.DATA_BINARY]);
var zipped = pack.gzip(data);
inflate
inflate(
pCompressedBytes):string
Decompresses the bytes you passed. They must have been compressed using the DEFLATE algorithm.
Parameters
string | number | booleanThe data to be decompressed.
Returns
stringThe unzipped data (Base64-encoded).
Throws
May throw an exception.
Example
var file = question.askQuestion("Which file?", question.QUESTION_FILECHOOSER, "");
var data = swing.doClientIntermediate(swing.CLIENTCMD_GETDATA, [file, util.DATA_BINARY]);
question.showMessage(data.length);
var zData = pack.deflate(data);
question.showMessage(zData.length);
var uData = pack.inflate(zData);
question.showMessage(uData.length == data.length);
isGzipped
isGzipped(
pBase64):boolean
Indicates whether a binary value that was passed (as Base64) was compressed with GZIP or not.
Parameters
string | number | booleanThe Base64-encoded data.
Returns
boolean'true' if the data were compressed using GZIP; otherwise 'false'.
Throws
May throw an exception.
Example
var file = question.askQuestion("Which file?", question.QUESTION_FILECHOOSER, "");
var data = swing.doClientIntermediate(swing.CLIENTCMD_GETDATA, [file, util.DATA_BINARY]);
question.showMessage(pack.isGzipped(data));
data = pack.gzip(data);
question.showMessage(pack.isGzipped(data));