Javascript 更新到节点10后-错误\u流\u无法\u管道
在我将服务器节点JS更新为节点10 alpine版本后,我开始出现下一个错误 错误[错误流\u无法\u管道]:无法管道,不可读 我必须提到,对于节点8-alpine,这段代码正在工作(我尝试了回滚) 在我的代码中,我试图从GCloud返回文件:Javascript 更新到节点10后-错误\u流\u无法\u管道,javascript,node.js,google-cloud-storage,gcloud,Javascript,Node.js,Google Cloud Storage,Gcloud,在我将服务器节点JS更新为节点10 alpine版本后,我开始出现下一个错误 错误[错误流\u无法\u管道]:无法管道,不可读 我必须提到,对于节点8-alpine,这段代码正在工作(我尝试了回滚) 在我的代码中,我试图从GCloud返回文件: try { const file = await gcs.bucket(`BUCKET_NAME`).file(filePath); if (file) { const res
try {
const file = await
gcs.bucket(`BUCKET_NAME`).file(filePath);
if (file) {
const results = await file.getMetadata();
const stream = await file.createReadStream();
return res.pipe(stream);
else {
return send(res, 403)
}
}
else {
return send(res, 404);
}
} catch (err) {
console.error(err);
return send(res, 500);
}
升级到node-10-alpine后,是否有人遇到过这样的问题?错误就是这么说的
res.pipe(steam)
将可写流,stream
附加到可读流res
。但是stream
是一个stream.Readable。改用fs.createWriteStream(…)
或file.createWriteStream(…)
。这可能在以前工作过,因为您的gcs.bucket(…).file(…)
函数返回一个带有可写文件描述符的文件。所以这可能是鸭子打字出错的情况