我正在尝试完成一项相当简单的任务,但我有点困惑并坚持在 nodejs 中使用 zlib。我正在构建功能,包括从 gzip 压缩的 aws S3 下载文件、解压缩并逐行读取。我想使用流来完成所有这些,因为我相信在 nodejs 中可以这样做。
这是我当前的代码库:
//downloading zipped file from aws s3:
//params are configured correctly to access my aws s3 bucket and file
s3.getObject(params, function(err, data) {
if (err) {
console.log(err);
} else {
//trying to unzip received stream:
//data.Body is a buffer from s3
zlib.gunzip(data.Body, function(err, unzippedStream) {
if (err) {
console.log(err);
} else {
//reading line by line unzziped stream:
var lineReader = readline.createInterface({
input: unzippedStream
});
lineReader.on('line', function(lines) {
console.log(lines);
});
}
});
}
});
我收到一条错误消息:
readline.js:113
input.on('data', ondata);
^
TypeError: input.on is not a function
我相信解压缩过程中可能存在问题,但我不太确定出了什么问题,任何帮助将不胜感激。