Class: ZipFile

@nginstack/engine/lib/compress/ZipFile~ ZipFile


new ZipFile()

ZipFile representa um arquivo, no formato zip, localizado no sistema de arquivos do sistema operacional. Todas as funções aceitam apenas caminhos absolutos de arquivos e pastas. Caso haja algum erro na execução de alguma função, será levantada uma exceção.

Methods


close()

Fecha o arquivo zip.


extract(path, pathToExtract)

Extrai um arquivo do arquivo zip. Se deseja-se extrair um arquivo de nome "file" que se encontra dentro da pasta de nome "folder" para a pasta "C:\minhasImagens", deve-se fazer:

Parameters:
Name Type Description
path string

Caminho do arquivo a ser descompactado. O caminho passado deve ser o caminho relativo de dentro do arquivo zip.

pathToExtract string

Caminho da pasta de onde se deseja extrair o arquivo especificado.

Example
var ZipFile = require('@nginstack/engine/lib/compress/ZipFile');
var zip = new ZipFile();
zip.open('C:\\arquivos\\meuZip.zip', 'unzip');
zip.extract('folder/file', 'C:\\minhasImagens');
zip.close();

extractAll(path)

Extrai todo o conteúdo de um arquivo zip.

Parameters:
Name Type Description
path string

Caminho da pasta de onde se deseja extrair o conteúdo do arquivo zip.


getFileNames()

Obtém os nomes de todos os arquivos dentro de um arquivo zip. O conteúdo da variável "nomes", após a execução do código abaixo, poderia ser, por exemplo, ["folder/file2", "file1"].

Returns:

Array com os nomes de todos os arquivos dentro do arquivo zip.

Type
Array.<string>
Example
var ZipFile = require('@nginstack/engine/lib/compress/ZipFile');
var zip = new ZipFile();
zip.open('C:\\arquivos\\meuZip.zip', 'unzip');
var nomes = zip.getFileNames();
zip.close();

open(path, mode [, options])

Abre um arquivo zip já existente, ou cria um novo arquivo zip.

Parameters:
Name Type Argument Description
path string

Caminho do sistema de arquivos do arquivo a ser aberto ou criado.

mode 'create' | 'zip' | 'unzip'

Modo em que o arquivo será aberto. Os valores aceitos são:

  • create: Um novo arquivo zip, no caminho especificado, é criado e o arquivo é aberto para compactação de arquivos. Nesse modo, se o arquivo já existe, ele é sobrescrito.
  • zip: O arquivo é aberto para compactação de arquivos.
  • unzip: O arquivo é aberto para a extração de arquivos ou leitura de informações.
options ZipFileOptions <optional>

Opções de compressão. Aqui podem ser definidas as configurações para compressão. As opções que podem ser configuradas são:

  • method: Método de compressão. Pode ser "deflate", "bzip2" ou "zstd". O valor padrão é "deflate".
  • level: Nível de compressão, representado por um número. Quanto mais alto o nível, maior a compressão. O intervalo de valores possíveis varia de acordo com o método utilizado.

Essas opções são utilizadas na compressão, e portanto apenas nos modos "create" e "zip", sendo ignoradas no modo "unzip".

Example
var ZipFile = require('@nginstack/engine/lib/compress/ZipFile');
var zip = new ZipFile();
// Criando um arquivo Zip e compactando file1.
var zip = new ZipFile();
zip.open('C:\\arquivos\\meuZip.zip', 'create');
zip.write('C:\\file1');
zip.close();

// Abrindo um arquivo Zip existente e adicionando file2,
// utilizando ZStandard (zstd) no nível 9 de compressão.
zip.open('C:\\arquivos\\meuZip.zip', 'zip', { method: 'zstd', level: 9 });
zip.write('C:\\file2');
zip.close();

write(paths)

Compacta arquivos e/ou pastas em um arquivo zip.

Parameters:
Name Type Description
paths string | Array.<string>

Caminhos dos arquivos ou pastas a serem compactados.

Example
var ZipFile = require('@nginstack/engine/lib/compress/ZipFile');
// No exemplo abaixo, compactamos o arquivo file1 e a pasta folder
// ambos localizados na raiz C:\ do sistema operacional:
var zip = new ZipFile();
zip.open('C:\\arquivos\\meuZip.zip', 'create');
zip.write(['C:\\file1', 'C:\\folder\\']);
zip.close();

writeString(string, fileName)

Compacta um arquivo, em um arquivo zip, cujo conteúdo é a string especificada.

Parameters:
Name Type Description
string string

String a ser incluída no arquivo que será compactado.

fileName string

Nome do arquivo que será compactado.