我可以在节点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') 和第二次回叫(功能(req,res)。
但在上面的代码中,中间件有三个参数,第二个是“multer({dest:'。/ uploads /'}}。single('idUpload')”
我想知道中间件功能允许多少个参数 在node / express JS。
答案 0 :(得分:2)
中间件的格式为
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();
}
如果我们想在后期路线中使用上述两个中间件,您可以将它们用作
router.post('/mypath', first, second, function(req, res){
res.send(req.count) // will show 2 on response
}
如上所述我们可以使用更多的中间件。
现在来到router.post()
它接受路径作为路径和任意数量的中间件的第一个参数。
至于上传问题,请确保您有uploadImages
目录且其路径正确且请求标头包含内容类型:' multipat / form-data'文件字段名称为idUpload