express multer 无法读取未定义的 属性 'profileimage'
express multer Cannot read property 'profileimage' of undefined
我正在尝试提交一个表单,其中包含名称为 profileimage
的文件输入,我正在使用 express 4、express 生成器和 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
documentation。
if (req.files && req.files.profileImage) {
// only if there are files
} else {
// You should see this now
}
我正在尝试提交一个表单,其中包含名称为 profileimage
的文件输入,我正在使用 express 4、express 生成器和 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
documentation。
if (req.files && req.files.profileImage) {
// only if there are files
} else {
// You should see this now
}