我正在使用 request.get(url) 从 URL 读取一个大的 zip 文件(500MB)。文件包含一个非常大的 CSV 文件。我正在阅读响应并使用 fs.createWriteStream(zipFile) 将文件流写入 zip 文件。在 fs.createWriteStream 的关闭事件中,我尝试使用 adm-zip 文件,我得到“错误无效或不支持的 zip 格式。找不到结束头”,而使用 Unzipper npm 包,我得到“无效的签名解压缩”。下面是代码
const request = require('superagent');
const fs = require('fs');
const unzip = require('unzipper');
request.get(url).on('error', function(err) { console.log(err) }
.pipe(fs.createWriteStream(zipFile))
.on('close', function() {
const admZip = require('adm-zip');
console.log('start unzip');
var zip = new admZip(zipFile);
console.log('unzipping ' + uploadDir + "to");
zip.extractAllTo(uploadDir, true);
console.log('finished unzip');
带解压器
request.get(url)
.on('error', function(err) { console.log(err) }
.pipe(fs.createWriteStream(zipFile))
.on('close', function() {
fs.createReadStream(zipFile)
.pipe(unzipper.Extract({ path: UploadDir }));`enter code here`
})