我正在尝试提交一个表单,其中包含文件输入,名称为profileimage
,我正在使用Express 4,Express Generator和Multer。
在我中,app.js
我添加了multer,如下所示:
var multer = require('multer');
var upload = multer({ dest: './uploads' });
我遵循的教程实际上是这样设置multer的(在需要它之后),但是它给了我一个错误:
app.use(multer({dest: './uploads'}));
在routes
相应文件内的文件夹中,我具有以下内容:
router.post('/register', function(req, res, next) {
// get form values
var name = req.body.name;
var email = req.body.email;
var username = req.body.username;
var password = req.body.password;
var password2 = req.body.password2;
// check for image field
if (req.files.profileimage)
{
console.log('Uploading file...');
...
但是,当我提交表单时,出现以下错误:
Cannot read property 'profileimage' of undefined
似乎无法理解req.files.profileimage
,但我不知道为什么?
multer
前不久,该API进行了更改,因此那里的一些教程仍然使用旧的API。
对于单个文件,您将执行以下操作:
var uploads = multer({dest: './uploads'});
// ...
router.post('/register', uploads.single('profileimg'), function(req, res, next) {
// ...
if (req.file) {
console.log('Profile image uploaded');
}
});
请参阅multer
文档以获取其他方案的更多示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句