title: "getBinaryContent(path, callback)" layout: default
Description : Use an AJAX call to fetch a file (HTTP GET) on the server
that served the file. Cross domain requests will work if the browser support
them but only if the server send the
right headers.
This function doesn't follow redirects: currently only 200 OK
are accepted.
Arguments
name | type | description |
---|---|---|
path | String | the path to the resource to GET. |
options | function or object | A callback function or options object. |
The options object has a required callback
function property and an optional progress
function property.
The callback
function has the following signature: function (err, data) {...}
:
name | type | description |
---|---|---|
err | Error | the error, if any. |
data | ArrayBuffer/String | the data in a format suitable for JSZip. |
The progress
function has the following signature: function (event) {...}
, where event
has the following properties:
name | type | description |
---|---|---|
path | string | The path of the file being loaded. |
loaded | number | the amount of data currently transfered. |
total | number | the total amount of data to be transferred. |
percent | number | the percent of data currently transfered. |
The data can be parsed by JSZip#load
or used with JSZip#file
to add a new file. With JSZip#file
use {binary:true}
as options.
Returns : Nothing.
Throws : Nothing.
Example
// loading a zip file
JSZipUtils.getBinaryContent("path/to/file.zip", function (err, data) {
if(err) {
throw err; // or handle the error
}
var zip = new JSZip(data);
});
// loading a file and add it in a zip file
JSZipUtils.getBinaryContent("path/to/picture.png", function (err, data) {
if(err) {
throw err; // or handle the error
}
var zip = new JSZip();
zip.file("picture.png", data, {binary:true});
});
// loading a zip file with a progress callback
JSZipUtils.getBinaryContent("path/to/file.zip", {
progress: function (event) {
console.log(event.percent + "% of " + event.path+ " loaded")
},
callback: function (err, data) {
if(err) {
throw err; // or handle the error
}
var zip = new JSZip(data);
}
});