Никак не могу понять что я делаю не так. Суть в том, что я пытаюсь скачать файл и разархивировать его. Использую axios и adm-zip.
class Preformnce {
async download (source, zipFile) {
console.log('start');
const writer = fs.createWriteStream(zipFile);
const response = await Axios({
url: source,
method: 'GET',
responseType: 'stream'
});
response.data.pipe(writer);
return new Promise((resolve, reject) => {
writer.on('finish', resolve)
writer.on('error', reject)
});
}
async unzip (zipFile, extractEntryTo) {
try {
console.log('start unzip');
const zip = new admZip(zipFile);
zip.extractEntryTo(extractEntryTo, '.', true, true);
console.log('finished unzip');
} catch (error) {
console.error(error);
}
}
}
async function test (val) {
let preformnce = new Preformnce();
try {
await preformnce.download(source, zipFile, extractEntryTo)
.then( res => {console.log('finish downloading');})
.catch( error => {console.error(error); console.error(`Не удалось загрузить арххив ${source}`);})
let unzip = preformnce.unzip(zipFile, extractEntryTo);
} catch (error) {
console.error(error);
}
};
Проблема в том, что последовательность вроде срабатывает верно. Т.е. сначала идет сообщение начала загрузки 'start', затем сообщение об окончании 'end download', далее идет сообщение 'start unzip' и тут вываливается ошибка "Invalid or unsupported zip format. No END header found". При этом архив валидный! Если попробовать убрать блок скачивания и оставить только разархивирование, то все отрабатывает верно. Насколько я понял, проблема в том, что он пытается разархивировать недокаченый или недокопированный в конечную директорию архив. Пробовал множество комбинаций, но ничего не выходит...
Виртуальный выделенный сервер (VDS) становится отличным выбором
Каждый user в одноименной таблице имеет несколько адресов в таблице addressКак выбрать так чтобы поля в результате назывались user_id, name, address_1, address_2,
Всем привет! Есть следующая задача: "Получить дату максимальных продаж, если таких дат несколько, то самую раннюю из них"Я понимаю, как собрать...
Шрифт поменялся на Arial, но цвет почему-то на веб-странице не отображаетсяКак это исправить? И ещё вопрос: как сделать так, чтобы в notepad++ подсвечивались...