如何在sailsjs

时间:2016-06-21 04:19:52

标签: file-upload sails.js sails-skipper

我刚刚阅读了sails-skipper的文档。看起来是处理多部分文件上传的好方法。

但是,如果我想要上传不属于多部分有效负载的内容,该怎么办? - 在我目前的情况下,它是一个简单的" text / csv"上传。

我尝试过简单地使用request.pipe ......但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

答案是......船长在这里没有帮助。相反,(就像在通用快递应用程序中一样)在船长之前使用middleware设置req._body = true以欺骗上游bodyParser(默认情况下为船只的船长)。

就我而言,在config / http.js中:

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,所以它不是问题。