Multer:意想不到的领域
Multer: Unexpected field
我正在尝试创建一个 api 来为我的项目接受图像,但由于某种原因它给出了以下错误
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>MulterError: Unexpected field<br> at wrappedFileFilter (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\multer\index.js:40:19)<br> at Busboy.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\multer\lib\make-middleware.js:114:7)<br> at Busboy.emit (events.js:310:20)<br> at Busboy.emit (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\busboy\lib\main.js:38:33)<br> at PartStream.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\busboy\lib\types\multipart.js:213:13)<br> at PartStream.emit (events.js:310:20)<br> at HeaderParser.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:51:16)<br> at HeaderParser.emit (events.js:310:20)<br> at HeaderParser._finish (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:68:8)<br> at SBMH.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:40:12)<br> at SBMH.emit (events.js:310:20)<br> at SBMH._sbmh_feed (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\streamsearch\lib\sbmh.js:95:16)<br> at SBMH.push (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\streamsearch\lib\sbmh.js:56:14)<br> at HeaderParser.push (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:46:19)<br> at Dicer._oninfo (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:197:25)<br> at SBMH.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:127:10)</pre>
</body>
</html>
这是我的代码
const multer = require('multer')
const uploads = multer({dest: 'uploads/'})
router.post('/', uploads.single('ImagemSinal') ,async (req, res) => {
console.log(req.file)
try{
const { title, description, tasks } = req.body
const project = await Project.create({title, description, user: req.userId });
await Promise.all(tasks.map( async task => {
const projectTask = new Task({...task, project: project._id})
await projectTask.save()
project.tasks.push(projectTask)
}))
await project.save()
return res.send({ project })
} catch(err) {
console.log(err)
return res.status(400).send({error: 'Error creating new project'})
}
})
这就是我在邮递员中处理请求的方式
当您从 Postman 发送图像时,您必须输入 ImagemSinal
作为图像的 keyValue
,因为您在服务器端指定了它。
您还可以在服务器端更改代码,而不是 uploads.single('ImagemSinal')
您可以输入 uploads.any()
.
只需键入文件作为键值,现在应该可以使用了。为我工作
我正在尝试创建一个 api 来为我的项目接受图像,但由于某种原因它给出了以下错误
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>MulterError: Unexpected field<br> at wrappedFileFilter (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\multer\index.js:40:19)<br> at Busboy.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\multer\lib\make-middleware.js:114:7)<br> at Busboy.emit (events.js:310:20)<br> at Busboy.emit (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\busboy\lib\main.js:38:33)<br> at PartStream.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\busboy\lib\types\multipart.js:213:13)<br> at PartStream.emit (events.js:310:20)<br> at HeaderParser.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:51:16)<br> at HeaderParser.emit (events.js:310:20)<br> at HeaderParser._finish (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:68:8)<br> at SBMH.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:40:12)<br> at SBMH.emit (events.js:310:20)<br> at SBMH._sbmh_feed (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\streamsearch\lib\sbmh.js:95:16)<br> at SBMH.push (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\streamsearch\lib\sbmh.js:56:14)<br> at HeaderParser.push (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:46:19)<br> at Dicer._oninfo (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:197:25)<br> at SBMH.<anonymous> (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:127:10)</pre>
</body>
</html>
这是我的代码
const multer = require('multer')
const uploads = multer({dest: 'uploads/'})
router.post('/', uploads.single('ImagemSinal') ,async (req, res) => {
console.log(req.file)
try{
const { title, description, tasks } = req.body
const project = await Project.create({title, description, user: req.userId });
await Promise.all(tasks.map( async task => {
const projectTask = new Task({...task, project: project._id})
await projectTask.save()
project.tasks.push(projectTask)
}))
await project.save()
return res.send({ project })
} catch(err) {
console.log(err)
return res.status(400).send({error: 'Error creating new project'})
}
})
这就是我在邮递员中处理请求的方式
当您从 Postman 发送图像时,您必须输入 ImagemSinal
作为图像的 keyValue
,因为您在服务器端指定了它。
您还可以在服务器端更改代码,而不是 uploads.single('ImagemSinal')
您可以输入 uploads.any()
.
只需键入文件作为键值,现在应该可以使用了。为我工作