首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取MulterError:在put请求中添加多个文件时的意外字段

获取MulterError:在put请求中添加多个文件时的意外字段
EN

Stack Overflow用户
提问于 2021-05-10 07:59:23
回答 1查看 290关注 0票数 0

我正在为我的产品上传多个文件。但是,当我试图用这些文件发出put请求时,我在运行时从multer那里得到了一个错误。

代码语言:javascript
复制
MulterError: Unexpected field
    at wrappedFileFilter (G:\GIT\Mern_Eshop\back-end\node_modules\multer\index.js:40:19)
    at Busboy.<anonymous> (G:\GIT\Mern_Eshop\back-end\node_modules\multer\lib\make-middleware.js:114:7)
    at Busboy.emit (events.js:315:20)
    at Busboy.emit (G:\GIT\Mern_Eshop\back-end\node_modules\busboy\lib\main.js:38:33)
    at PartStream.<anonymous> (G:\GIT\Mern_Eshop\back-end\node_modules\busboy\lib\types\multipart.js:213:13)
    at PartStream.emit (events.js:315:20)
    at HeaderParser.<anonymous> (G:\GIT\Mern_Eshop\back-end\node_modules\dicer\lib\Dicer.js:51:16)
    at HeaderParser.emit (events.js:315:20)
    at HeaderParser._finish (G:\GIT\Mern_Eshop\back-end\node_modules\dicer\lib\HeaderParser.js:68:8)
    at SBMH.<anonymous> (G:\GIT\Mern_Eshop\back-end\node_modules\dicer\lib\HeaderParser.js:40:12)
    at SBMH.emit (events.js:315:20)
    at SBMH._sbmh_feed (G:\GIT\Mern_Eshop\back-end\node_modules\streamsearch\lib\sbmh.js:159:14)
    at SBMH.push (G:\GIT\Mern_Eshop\back-end\node_modules\streamsearch\lib\sbmh.js:56:14)
    at HeaderParser.push (G:\GIT\Mern_Eshop\back-end\node_modules\dicer\lib\HeaderParser.js:46:19)
    at Dicer._oninfo (G:\GIT\Mern_Eshop\back-end\node_modules\dicer\lib\Dicer.js:197:25)
    at SBMH.<anonymous> (G:\GIT\Mern_Eshop\back-end\node_modules\dicer\lib\Dicer.js:127:10)

,我的代码在这里,

代码语言:javascript
复制
router.put(
    '/gallery-images/:id',
    uploadOptions.array('images', 10),
    async (req, res)=> {
        if(!mongoose.isValidObjectId(req.params.id)) {
            return res.status(400).send('Invalid Product Id')
        }
        const files = req.files;
        let imagesPaths = [];
        const basePath = `${req.protocol}://${req.get('host')}/public/uploads/`;

        if(files) {
            files.map(file =>{
                imagesPaths.push(`${basePath}${file.filename}`);
            })
        }

        const product = await Product.findByIdAndUpdate(
            req.params.id,
            {
                images: imagesPaths
            },
            { new: true}
        )

        if(!product)
            return res.status(500).send('the gallery cannot be updated!')

        res.send(product);
    }
)

有什么好建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-05-10 18:09:42

当您在图像上发送不同的名称并使用不同的multer配置时,通常会发生此错误。

代码语言:javascript
复制
uploadOptions.array('images', 10) // check your are sending files with name 'images'

如果名称不同,则应将该名称改为。

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

https://stackoverflow.com/questions/67466812

复制
相关文章

相似问题

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