我刚开始学习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);
});
Run Code Online (Sandbox Code Playgroud)
将带有FormData /uploadImage
的图像发布到图像时会保存在uploads/
目录中.问题是图像以奇怪的名称保存,我想用原始名称保存它.为此,我明白我必须打电话app.use(multer({ dest: 'uploads/' }))'
,然后我将能够访问req.file
我的功能,如:
app.post('/uploadImage', function(req, res) {
console.log(req.file);
});
Run Code Online (Sandbox Code Playgroud)
但是我在尝试app.use()时遇到错误:
TypeError: app.use() requires middleware functions
at EventEmitter.use (project\node_modules\express\lib\application
.js:209:11)
Run Code Online (Sandbox Code Playgroud)
我使用NodeJS 0.12.7和Express 4.13.1
我怎样才能实现上传?谢谢.