Узел разархивировать. Как сделать имя файла

1

Использование unzip-модуля с помощью NPM:

При преобразовании имя преобразованного файла будет doc.xml, поскольку распакован xml файл.

Не хотите имя doc, так вот:

'use strict';

var fs = require('fs')
var unzip = require('unzip')

convert(process.argv[2], process.argv[3])

function convert(path, fileName) {
    fs.createReadStream(path)
        .pipe(unzip.Extract({ path: '/users/*****/desktop/templatexml/' + fileName + '.xml' }))
}

И запустил это:

node /Users/*****/Desktop/converter/converter.js /Users/******/Desktop/template/103.zip 103

Но результатом всегда будет "fileName.xml/doc.xml"

"fileName.xml" отображается как имя каталога.

Хотите изменить часть doc.

И если возможно, захотите получить имя файла из исходного пути к файлу.

Внутри process.argv [2]

"/Users/*****/Desktop/template/fileName.zip"

Хотите получить имя_файла здесь.


Спасибо за комментарий, вот так. Но не получилось.

'use strict';

var fs = require('fs')
var unzip = require('unzip')

convert(process.argv[2])

function convert(path) {
    fs.createReadStream(path)
        .pipe(unzip.Parse())
        .on('entry', function(entry) {
            var fileName = entry.path;
            var type = entry.type; // 'Directory' or 'File'
            var size = entry.size;
            if (fileName === "this IS the file I'm looking for") {
                entry.pipe(fs.createWriteStream('/users/*****/desktop/templatexml/'));
            } else {
                entry.autodrain();
            }
        });
}
Теги:
unzip

1 ответ

1
fs.createReadStream('path/to/archive.zip')
  .pipe(unzip.Parse())
  .on('entry', function (entry) {
    var fileName = entry.path;
    var type = entry.type; // 'Directory' or 'File'
    var size = entry.size;
    if (fileName === "this IS the file I'm looking for") {
      entry.pipe(fs.createWriteStream('output/path'));
    } else {
      entry.autodrain();
    }
  });
  • 0
    Спасибо за комментарий. Я отредактировал свой вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню