--- title: "Frequently Asked Questions" layout: default section: main --- ### "Corrupted zip or bug: unexpected signature" If you are sure that the zip file is correct, that error often comes from a corrupted content. An ajax request, if not prepared correctly, will try to decode the binary content as a text and corrupt it. See [this page]({{site.baseurl}}/documentation/howto/read_zip.html). ### My browser crashes / becomes unresponsive / never finish the execution That happens if you try to handle to much data with the synchronous API. If possible, try the asynchronous API, see [this page]({{site.baseurl}}/documentation/limitations.html) for more informations. ### Can't read the data of [...]. Is it in a supported JavaScript type ? Or the old message: > The data of [...] is in an unsupported format The method [`file(name, data [,options])`]({{site.baseurl}}/documentation/api_jszip/file_data.html) accepts string and binary inputs for `data`. If you use an unsupported type, an object for example, you will get this error: ```js // WRONG var data = { content: new ArrayBuffer(...) }; zip.file("my.data", data); // won't work, data is an object // CORRECT var data = new ArrayBuffer(...); zip.file("my.data", data); // will work, JSZip accepts ArrayBuffer ``` ### My mac generates a `.cpgz` file when I try to extract the zip file MacOS Finder has a lot of bug related to zip files (the `unzip` command line tool is fine). When something goes wrong, Finder will generate this cpgz file instead of showing an error. To get a correct result, try to enable compression in `generateAsync`: ```js zip.generateAsync({ type:"...", compression: "DEFLATE" // <-- here }); ``` Using `platform: "UNIX"` may help too.