我刚刚开始学习 NodeJS,但遇到了一个问题。我想将文件上传到我的服务器。为此,我搜索并找到了这个模块multer。按照 GitHub 上的示例进行操作:
var express = require('express');
var multer = require('multer');
var upload = multer({ dest: 'uploads/' });
var app = express()
app.post('/uploadImage', upload.single('image'), function(req, res) {
console.log(req.file);
});
在将带有 FormData 的图像发布到图像时,/uploadImage
该图像将保存在uploads/
目录中。问题是图像以一个奇怪的名称保存,我想用它的原始名称保存它。为此,我知道我必须调用app.use(multer({ dest: 'uploads/' }))'
,然后我才能访问req.file
我的函数,例如:
app.post('/uploadImage', function(req, res) {
console.log(req.file);
});
但是在尝试 app.use() 时出现错误:
TypeError: app.use() requires middleware functions
at EventEmitter.use (project\node_modules\express\lib\application
.js:209:11)
我使用 NodeJS 0.12.7 和 Express 4.13.1
我怎样才能实现那个上传?谢谢。