我的'/ upload'路径的这一部分表现得非常奇怪:
console.log("1st point");
var busboy = new Busboy({ headers: req.headers });
busboy.on('field', function(fieldname, file, filename, encoding, mimetype) {
console.log("can never be reached");
});
req.pipe(busboy);
console.log("2nd point");
它永远不会达到busboy的功能,而且为什么会这么做。
在localhost和Amazon Linux上一切正常,但在heroku上,这部分代码通常只是被跳过。它让我疯狂。谢谢你的帮助。
答案 0 :(得分:0)
问题在于
res.redirect('/profile');

之前更改会话
req.pipe(busboy);

完成了。 Idk为什么它在亚马逊上工作,可能是一个很糟糕的虚拟机架构。通过添加以下代码解决了该问题:
var req_stream = req.pipe(busboy);
req_stream.on('finish', function () {
res.redirect('/profile');
});

现在它在heroku上工作正常。