我正在使用Node,Express和multer创建用于上传图像的应用。我提交了表单,但是req.file是未定义的。我花了一整天的时间进行故障排除,但无法找出问题所在。
表格
<form method="get" action="/upload" enctype="multipart/form-data">
<div id="upload_div"><input type="file" name="imgFile" id="image_input" accept="image/*" onchange="readURL(input)"></div>
<div id="upload_div"><input type="text" name="name" id="name" title="Name" placeholder="Name"></div>
<div id="upload_div"><input type="submit" value="Upload"></div>
</form>
ROUTER
...
const multer = require('multer')
var upload = multer({ dset: '/images' });
...
router.post('/upload_processing', upload.single('imgFile'), function(req, res, next){
console.log(req.files); // result : undefiend
console.log(req.file); // result : undefiend
console.log(req.body); // result : {imgFile:"test.png", name:"test"}
res.send(req.body);
});
答案 0 :(得分:0)
我认为您提供的名称和下面使用的名称存在问题。 尝试这样的事情,可能会对您有帮助
router.post('/upload', upload.single('file'),function (req, res){
res.json({file: req.file})
res.redirect('/');
})