【问题标题】:Using Multer for uploading files in node js使用 Multer 在节点 js 中上传文件
【发布时间】:2016-06-25 01:59:13
【问题描述】:

我可以在节点 JS 中使用下面的图片上传图片。

var express = require('express');
var router = express.Router();
var multer = require('multer');
var done = false;

router.get( '/upload', function(req , res) {
res.render('upload');
});


router.post( '/upload' , multer({ dest:   './uploadImages/'}).single('idUpload') ,  function(req , res) {

//-- logic for uploading file comes here
res.send('done');

});

module.exports = router;

据我了解,中间件可以有 2 个参数,首先是路径('/upload') 以及第二个回调(function(req , res)。

但是在上面的代码中间件有三个参数,第二个是“multer({ dest: './uploadImages/'}).single('idUpload')”

我想知道一个中间件函数允许多少个参数 在 node/express JS 中。

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    中间件的形式是

    var first = function(req, res, next){
          req.count = 1; //do something in this case attach count item to req object
          next(); // call next middleware 
         } 
    
    var second = function(req, res, next){
          req.count += 1;
          next(); 
         } 
    

    如果我们想在 post 路由中使用以上两个中间件,您可以将它们用作

    router.post('/mypath', first, second, function(req, res){
      res.send(req.count) // will show 2 on response
     }
    

    在上面的例子中,我们可以使用更多的中间件。 现在来到router.post(),它接受路径作为第一个参数作为路径和任意数量的中间件。 至于上传问题,请确保您有uploadImages 目录并且它的路径是正确的并且请求标头具有Content-Type:'multipat/form-data',文件字段名称为idUpload

    【讨论】:

      猜你喜欢
      • 2017-08-30
      • 1970-01-01
      • 2020-07-16
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2017-10-20
      • 1970-01-01
      相关资源
      最近更新 更多