Node.js 中 stream.pipeline 处理大文件上传时,如何避免 ERR_STREAM_PREMATURE_CLOSE
在 Node.js 里用 stream.pipeline 串接文件上传链路时,客户端中途断开连接是很常见的情况。比如用户关掉浏览器、网络抖动导致 socket 关闭,或者反向代理超时切断了请求。这时候管道里的某个流会提前关闭,如果没有正确处理,进程会抛出 ERR_STREAM_PREMATURE_CLOSE,甚至导致未捕获异常让服务崩溃。这个错误本身不是 bug,它是在提醒你管道没有正常走完,但很多人把它当成普通错误吞掉,结果留下半截文件或者未释放的句柄。这篇文章从一次真实的上传服务排查过程出发,讲清楚 p...