(JavaScript) Extract ZIP Files Without Preserving Directory Paths Using DiscardPaths
This example demonstrates how to use the DiscardPaths property to extract files from a ZIP archive without recreating the stored directory structure. When DiscardPaths is set to true, all extracted files are written directly into the target extraction directory, and any stored ZIP path information is ignored. This is useful when: - Flattening ZIP contents into a single directory
-
Ignoring stored subdirectory structures during extraction
-
Extracting only the files themselves without recreating folders
Suppose the ZIP archive contains: docs/readme.txt docs/manual.pdf images/logo.png Normally, extracting the ZIP would create: output/docs/readme.txt output/docs/manual.pdf output/images/logo.png But when DiscardPaths is set to true, the extracted files become: output/readme.txt output/manual.pdf output/logo.png The stored ZIP directory paths are discarded during extraction.
var success = false;
success = false;
var zip = new CkZip();
// Open an existing ZIP archive.
success = zip.OpenZip("example.zip");
if (success == false) {
console.log(zip.LastErrorText);
return;
}
// Discard stored ZIP paths during extraction.
//
// When DiscardPaths = true, all files are extracted
// directly into the target directory without recreating
// the ZIP directory structure.
zip.DiscardPaths = true;
// Extract all files to the output directory.
//
// Even if the ZIP contains:
//
// docs/readme.txt
// docs/manual.pdf
// images/logo.png
//
// The extracted files become:
//
// c:/output/readme.txt
// c:/output/manual.pdf
// c:/output/logo.png
//
var numFilesUnzipped = zip.Unzip("c:/output");
if (numFilesUnzipped < 0) {
console.log(zip.LastErrorText);
return;
}
console.log("Number of files extracted = " + numFilesUnzipped);
zip.CloseZip();
console.log("Files extracted successfully.");
|