2017-02-10 3 views
0

のこの部分に発射されていない私の '/アップロード' ルートは非常に奇妙な方法で動作します。req.pipe(...)は、Herokuの

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機能に達することはありませんとidkなぜ。

ローカルホストとAmazon Linuxではすべてうまく動作しますが、ヒーローではこの部分のコードは通常スキップされます。それは私を夢中にさせる。ご協力いただきありがとうございます。

+0

Herokuがdynosのファイルシステムをセットアップする方法が原因であるかどうかはわかりません。 https://devcenter.heroku.com/articles/dynos#ephemeral-filesystemを参照し、役立つかどうかを確認してください。 –

+0

thx、私はそれです。私はそれを解決することができますかどうかを確認します。 – Dima

答えて

0

問題が

res.redirect('/profile');
にこの関数が呼び出されていた(と

req.pipe(busboy);

前にセッションを変更しては行われている。それがAmazonで働いていた理由IDKヒーローVMのアーキテクチャに何かがあるかもしれません。

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

をそして今、それはHerokuの上で正常に動作します:問題は、このコードを追加することで解決されています。