var data = '';
var startOffSet = 0;
var endOffSet = 0;
do {
if (fileSizeInBytes >= 64000 && fileSizeInBytes - endOffSet >= 64000) {
endOffSet += 64000;
} else {
endOffSet += fileSizeInBytes - endOffSet - 1;
inProcess = false;
}
startOffSet += 64000;
var readableStream = fs.createReadStream('fileName', { start: startOffSet, end: endOffSet });
readableStream.on('data', function(chunk) {
data += chunk;
});
} while (fileSizeInBytes > endOffSet + 2);
问题在于此方法是它没有设置正确的开始和结束偏移。它启动了数据'添加整个开始/结束偏移后的事件。虽然在调试时它可以按预期的方式工作。