req.pipe(...)没有在heroku上触发

时间:2017-02-10 11:15:41

标签: javascript node.js heroku

我的'/ 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上,这部分代码通常只是被跳过。它让我疯狂。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

问题在于



res.redirect('/profile');



 正在调用此函数(并在

之前更改会话



req.pipe(busboy);




完成了。 Idk为什么它在亚马逊上工作,可能是一个很糟糕的虚拟机架构。通过添加以下代码解决了该问题:



var req_stream = req.pipe(busboy);
    req_stream.on('finish', function () {
        res.redirect('/profile');
    });




现在它在heroku上工作正常。