首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Multer:意外字段

Multer:意外字段
EN

Stack Overflow用户
提问于 2021-04-06 21:50:46
回答 2查看 227关注 0票数 0

我正在尝试创建一个api来为我的项目接受图像,但由于某种原因,它给出了以下错误

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Error</title>
</head>

<body>
    <pre>MulterError: Unexpected field<br> &nbsp; &nbsp;at wrappedFileFilter (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\multer\index.js:40:19)<br> &nbsp; &nbsp;at Busboy.&lt;anonymous&gt; (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\multer\lib\make-middleware.js:114:7)<br> &nbsp; &nbsp;at Busboy.emit (events.js:310:20)<br> &nbsp; &nbsp;at Busboy.emit (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\busboy\lib\main.js:38:33)<br> &nbsp; &nbsp;at PartStream.&lt;anonymous&gt; (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\busboy\lib\types\multipart.js:213:13)<br> &nbsp; &nbsp;at PartStream.emit (events.js:310:20)<br> &nbsp; &nbsp;at HeaderParser.&lt;anonymous&gt; (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:51:16)<br> &nbsp; &nbsp;at HeaderParser.emit (events.js:310:20)<br> &nbsp; &nbsp;at HeaderParser._finish (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:68:8)<br> &nbsp; &nbsp;at SBMH.&lt;anonymous&gt; (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:40:12)<br> &nbsp; &nbsp;at SBMH.emit (events.js:310:20)<br> &nbsp; &nbsp;at SBMH._sbmh_feed (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\streamsearch\lib\sbmh.js:95:16)<br> &nbsp; &nbsp;at SBMH.push (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\streamsearch\lib\sbmh.js:56:14)<br> &nbsp; &nbsp;at HeaderParser.push (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\HeaderParser.js:46:19)<br> &nbsp; &nbsp;at Dicer._oninfo (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:197:25)<br> &nbsp; &nbsp;at SBMH.&lt;anonymous&gt; (C:\Users\Usuário\Desktop\dicionario\backend\node_modules\dicer\lib\Dicer.js:127:10)</pre>
</body>

</html>

以下是我的代码

代码语言:javascript
复制
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'})
        
       
    }
})

这就是我如何在邮递员中做这个请求的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-06 22:15:13

当您从Postman发送图像时,您必须键入ImagemSinal作为图像的keyValue,因为您是在服务器端指定的。

您还可以在服务器端更改代码,您可以输入uploads.any()来代替uploads.single('ImagemSinal')

票数 1
EN

Stack Overflow用户

发布于 2021-09-22 17:38:39

只需键入file作为键值,现在应该可以工作了。对我很管用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66969978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档