使用node-stream-zip解压缩zip文件时读取错误的文件描述符

时间:2018-04-26 10:01:55

标签: node.js zip

我有一个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文件有问题吗?我可以手动打开它。与权限相关吗?节点?这个特别的包裹?

1 个答案:

答案 0 :(得分:2)

您的问题与Proxy User有关。您在调用zip.close()的同一时间点关闭它。

相关问题