Node.js 中处理 multipart/form-data 上传时,为什么 request 流被提前消费会导致文件丢失?
在 Node.js 里做文件上传接口时,multipart/form-data 的解析几乎绕不开 busboy 或 formidable 这类流式解析器。实际开发中经常遇到一个隐蔽问题:接口收到请求后,文件字段偶尔为空,或者 file 事件根本没触发,但前端明明传了文件。排查时发现请求体已经被某个中间件或日志逻辑读取过,request 流进入 flowing 模式后数据被消费掉,后续解析器拿到的就是空流。这类问题在 Express 配合 body-parser、或者自己写全局请求日志时尤其常见。文章从流的状...