Node.js:在Sails.js中使用Multer进行文件上传

5
我想在我的 sails.js 框架应用程序中集成 multer 文件上传包 multer https://www.npmjs.com/package/multer,但很遗憾它没有可用的教程。
有人能指导一下如何在 sails.js 中使用吗?
2个回答

1
我也遇到了这个问题,在互联网上找不到任何东西,但在阅读了sails.js文档后,我找到了上传文件的方法。
内部,sails.js使用skipper来上传文件,而且它的代码非常简单明了。
var uploadFile = req.file('user_picture');
uploadFile.upload({ dirname: filePath }, function onUploadComplete(err, files) {
  if (err) return res.serverError(err);
  //  IF ERROR Return and send 500 error
  console.log(files);
});
< p > user_picture 是您表单中的变量名称。

希望这可以帮助您!


1
module.exports.http = {
  middleware: {
    /***************************************************************************
    * *
    * The order in which middleware should be run for HTTP requests. *
    * (This Sails app's routes are handled by the "router" middleware below.) *
    * *
    ***************************************************************************/
    order: [
      'cookieParser',
      'session',
      'fileMiddleware',
      'bodyParser',
      'compress',
      'poweredBy',
      'router',
      'www',
      'favicon',
    ],
    /***************************************************************************
    * *
    * The body parser that will handle incoming multipart HTTP requests. *
    * *
    * https://sailsjs.com/config/http#?customizing-the-body-parser *
    * *
    ***************************************************************************/
    bodyParser: (function () {
      const bodyParser = require('body-parser');
      bodyParser.json();
      bodyParser.urlencoded({ extended: true });
      return bodyParser();
    })(),
    fileMiddleware: (function () {
      const multer = require('multer');
      const upload = multer();
      return upload.fields([{ name: 'images' }, { name: 'profile' }, { name: 'cover' }]);
    })(),
  }
};

您可以尝试这个。它将覆盖skipper。

谢谢,这对我很有帮助! - Rajan Sharma
你知道如何将其限制为单个文件吗? - Rahul Raval
返回 upload.single('file') - sohamdodia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接