节点读取流挂起在特定文件base64编码上

时间:2018-04-05 16:53:51

标签: javascript node.js

我有以下代码适用于每个文件,除了一个不挂起而没有发出enderror事件的代码(我也尝试过其他流事件)。

const fs = require('fs');

const rs = fs.createReadStream(filePath, {
    encoding: 'base64',
});

rs.on('data', () => {
    console.log('data');
});
rs.on('end', () => {
    console.log('end');
});
rs.on('error', e => {
    console.log('error', e);
});

如果我将带有start选项的读取点移动到1而不是0,则它可以正常工作。如果将highWaterMark设置为默认值以外的值,则相同。它并没有真正帮助,因为它似乎可能会失败与其他"腐败"文件。

这似乎是Node bug,但也许我在这里缺少了一些东西。

我也会在这里发布文件,但首先我需要将其删除为仅损坏部分,因为它有些私密。

更新

此处提供重新创建问题的文件: http://s3.eu-west-1.amazonaws.com/jjapitest/file

更新

以下是该问题的互动演示: https://repl.it/repls/AnimatedDisguisedNumerator

0 个答案:

没有答案