我刚开始学习 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
如何实现上传?谢谢。
fs
写入它... 我会想办法的,谢谢。 - João Menighin