在 Node.js 中处理大文件上传:流式写入与临时文件清理的实践
最近在做一个内部工具,需要让用户上传几百兆甚至上 G 的日志文件做分析。一开始直接用 Express 的 multer 默认配置,结果内存涨得很快,并发几个上传就 OOM 了。排查后发现 multer 默认把文件放在内存里,超过阈值才落盘,但阈值设置不当或者没限制文件大小时,整个文件会先读进内存。另一个常见场景是上传中断后留下大量临时文件,磁盘慢慢被占满。这篇文章围绕 Node.js 里处理大文件上传的两个实际问题展开:如何用流式方式把请求体直接写入磁盘而不撑爆内存,以及如何可靠地清理上传过程中产生的临时文...