一般情况下,出现此错误是因为 Multer 没有正确配置。请确保在上传文件前通过 Multer 中间件进行正确的配置和初始化,例如:
const multer = require('multer');
// 配置 Multer
const storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, 'uploads/')
},
filename: (req, file, cb) => {
cb(null, Date.now() + '-' + file.originalname)
}
});
const upload = multer({ storage });
// 处理上传文件请求
app.post('/upload', upload.single('file'), (req, res) => {
if (!req.file) {
return res.status(400).send('No files were uploaded');
}
res.send('File uploaded successfully');
});
注意,在上述代码中,我们通过调用 upload.single() 方法将 Multer 中间件添加到路由中,并且指定上传文件的字段名为 file。如果你上传的文件字段名不同,请将此字段名与你的表单中的文件输入字段名相匹配。
如果你仍然遇到问题,请确保检查 req.body 和 req.files 是否正确设置,是否发生任何错误或异常。如果你不能确定如何解决此问题,请务必查看 Multer 的文档和示例代码。