我有一个zip文件,其中包含
文件夹1234/pic1.png
1234/pic2.png
1234/data.xlsx
我正在尝试使用node-stream-zip提取电子表格(失败,所有文件)。
const StreamZip = require('node-stream-zip');
const zip = new StreamZip({
file: path.join(downloadsDir, fileToFind),
storeEntries: true
});
zip.on('ready', () => {
if(!fs.existsSync('extracted')) {
fs.mkdirSync('extracted');
}
zip.extract('1234/', './extracted', err => {
console.log(err);
});
zip.close();
});
这会产生
EBADF:错误的文件描述符,读取
在解压缩的文件夹中是其中一个png文件。但是当跟随guide仅提取xlsx文件时,似乎xlsx文件是导致此错误的文件。
zip.extract('1234/data.xlsx', './extracted.xlsx', err => {
console.log(err);
});
xlsx文件有问题吗?我可以手动打开它。与权限相关吗?节点?这个特别的包裹?
答案 0 :(得分:2)
您的问题与Proxy User
有关。您在调用zip.close()
的同一时间点关闭它。