sails-skipperのドキュメントを読み終えました。マルチパートファイルのアップロードを処理する良い方法のように見えます。sailsjsでマルチパートではないストリームをアップロードする方法
しかし、マルチパートペイロードではないもののアップロードをストリーミングする場合はどうすればよいですか? - 私の現在のケースでは、単純な "text/csv"アップロード。
私は単純にrequest.pipeを使ってみましたが、これはうまくいかないようです。
sails-skipperのドキュメントを読み終えました。マルチパートファイルのアップロードを処理する良い方法のように見えます。sailsjsでマルチパートではないストリームをアップロードする方法
しかし、マルチパートペイロードではないもののアップロードをストリーミングする場合はどうすればよいですか? - 私の現在のケースでは、単純な "text/csv"アップロード。
私は単純にrequest.pipeを使ってみましたが、これはうまくいかないようです。
答えは...船長がここで助けてくれるわけではありません。むしろ、middlewareをreq._body = true
に設定してskip上流のbodyParser(デフォルトでは帆用のスキッパー)にする前にmiddlewareを使用してください。 configに私の場合は
var typeIs = require('type-is');
module.exports.http = {
middleware: {
order: [
...
'dontParseCSV',
...
'bodyParser',
...
],
dontParseCSV: function (req, res, next) {
if(typeIs(req, 'csv')) {
// fool body parser into thinking already parsed
// so we can stream csv
req._body = true;
}
next();
},
...
}
};
ルータはbodyParser後に来るので、(あなたがしたい場合は、少なくともだけで、特定のルートの これを行うには不便なビットであるかもしれませんルータは を認識し、正規表現でハックするだけではありません。私の場合、他のすべてのルートはjsonしか受け入れないので、問題はありません。