问题描述
我正在使用 npm 包 busboy 来解析多部分表单请求和写入流以将发送的文件写入磁盘。
这适用于小文件,但是当我尝试使用更大的文件 (7MB) 时,似乎只有大约 5MB 被写入磁盘,然后事情似乎停滞了,它永远不会完成,也没有抛出错误。这在本地有效,但在 ECS 上运行时会出现问题。
节点服务器运行在 ECS 上的 docker 容器中
pipeline(fileStream,fs.createWriteStream(filePath),(err) => {
if (err) {
console.log("Pipeline Failed",err);
} else {
console.log("Pipleline complete");
}
});
有什么想法吗??
解决方法
我最近通过启用访问日志查找“幕后”的 HTTP 状态代码解决了这个问题。就我而言,它是一个 413 状态代码。
有几个步骤可以进行设置,并且它会不时发生变化。查看此处的文档以了解当前步骤和配置:https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html#enable-access-logging