gpt4 book ai didi

node.js - 在node js中使用Multer上传文件

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:04 25 4
gpt4 key购买 nike

我可以使用下面的 Node 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 中。

最佳答案

中间件的形式为

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 目录及其路径正确,并且请求 header 具有 Content-Type: 'multipat/form-data' 且文件字段名称为 idUpload

关于node.js - 在node js中使用Multer上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35912852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com