You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.1 KiB
Markdown
66 lines
2.1 KiB
Markdown
2 years ago
|
# ADM-ZIP for NodeJS with added support for electron original-fs
|
||
|
|
||
|
ADM-ZIP is a pure JavaScript implementation for zip data compression for [NodeJS](https://nodejs.org/).
|
||
|
|
||
|
# Installation
|
||
|
|
||
|
With [npm](https://www.npmjs.com/) do:
|
||
|
|
||
|
$ npm install adm-zip
|
||
|
|
||
|
## What is it good for?
|
||
|
|
||
|
The library allows you to:
|
||
|
|
||
|
- decompress zip files directly to disk or in memory buffers
|
||
|
- compress files and store them to disk in .zip format or in compressed buffers
|
||
|
- update content of/add new/delete files from an existing .zip
|
||
|
|
||
|
# Dependencies
|
||
|
|
||
|
There are no other nodeJS libraries that ADM-ZIP is dependent of
|
||
|
|
||
|
# Examples
|
||
|
|
||
|
## Basic usage
|
||
|
|
||
|
```javascript
|
||
|
var AdmZip = require("adm-zip");
|
||
|
|
||
|
// reading archives
|
||
|
var zip = new AdmZip("./my_file.zip");
|
||
|
var zipEntries = zip.getEntries(); // an array of ZipEntry records
|
||
|
|
||
|
zipEntries.forEach(function (zipEntry) {
|
||
|
console.log(zipEntry.toString()); // outputs zip entries information
|
||
|
if (zipEntry.entryName == "my_file.txt") {
|
||
|
console.log(zipEntry.getData().toString("utf8"));
|
||
|
}
|
||
|
});
|
||
|
// outputs the content of some_folder/my_file.txt
|
||
|
console.log(zip.readAsText("some_folder/my_file.txt"));
|
||
|
// extracts the specified file to the specified location
|
||
|
zip.extractEntryTo(/*entry name*/ "some_folder/my_file.txt", /*target path*/ "/home/me/tempfolder", /*maintainEntryPath*/ false, /*overwrite*/ true);
|
||
|
// extracts everything
|
||
|
zip.extractAllTo(/*target path*/ "/home/me/zipcontent/", /*overwrite*/ true);
|
||
|
|
||
|
// creating archives
|
||
|
var zip = new AdmZip();
|
||
|
|
||
|
// add file directly
|
||
|
var content = "inner content of the file";
|
||
|
zip.addFile("test.txt", Buffer.from(content, "utf8"), "entry comment goes here");
|
||
|
// add local file
|
||
|
zip.addLocalFile("/home/me/some_picture.png");
|
||
|
// get everything as a buffer
|
||
|
var willSendthis = zip.toBuffer();
|
||
|
// or write everything to disk
|
||
|
zip.writeZip(/*target file name*/ "/home/me/files.zip");
|
||
|
|
||
|
// ... more examples in the wiki
|
||
|
```
|
||
|
|
||
|
For more detailed information please check out the [wiki](https://github.com/cthackers/adm-zip/wiki).
|
||
|
|
||
|
[![Build Status](https://travis-ci.org/cthackers/adm-zip.svg?branch=master)](https://travis-ci.org/cthackers/adm-zip)
|