【发布时间】:2019-04-27 00:47:44
【问题描述】:
我有一个使用 express 的 Node 服务器。
我最初使用的是body-parser,但它不允许上传文件。所以,我切换到multer(与express 最简单的集成)。但是,为了得到任何req(特别是req.body),这是我的代码:
var multer = require('multer');
var upload = multer({ dest : 'uploads/' });
server.all('/example', function (req, res, next) {
var up = upload.single('photo')
up(req, res, function(err) {
console.log(req.body); // I can finally access req.body
});
}
问题在于,并非我的所有路线都需要上传文件。我是否需要浪费 CPU 为每条路线调用 upload.single() 才能访问身体? upload.single('') 最终没有上传任何文件,但这仍然是在主线程上花费的宝贵时间。
看来upload.single() 正在等待回调,所以它可能没有我做的那么重要,但我不喜欢在不需要时调用函数。
有没有办法绕过打电话给upload.single(),还是我只是在做比实际更大的交易?
【问题讨论】:
标签: node.js express file-upload multer