首页 > 解决方案 > axios以表单数据格式上传jpg,响应数据:{error: 'Multipart: Boundary not found' }

问题描述

我想将 jpg 上传到带有 axios 的链接,但失败了。我怀疑我的表单数据有问题,我不知道如何检查。我这样做:

let form = new FormData();
form.append('screenshot',fs.createReadStream(`xxx.jpg`));

截图是关键,而下一个是我要发布的 jpg。这是我的发布方法:

const config = { headers: { 'Content-Type': 'multipart/form-data' } };
yield axios.post(url,form,config).then....catch....

我已经通过邮递员成功上传了jpg: 在此处输入图像描述

如何在 VScode 中使用 NodeJS 做同样的事情?
错误消息很长,但主要是 pt。应该是响应数据:{错误:'多部分:未找到边界'}。

以下是服务器中的一些内容:

const upload = multer({
//dest: 'screenshots',
limits: {
    fileSize: 2000000 //number in bytes
},
fileFilter(req, file, cb) {
    if (!file.originalname.match(/\.(png|jpg|jpeg)$/)) {
        return cb(new Error('File must be of png/jpg/jpeg type.'))
    }
    cb(undefined, true)
}

router.post('/upload/:id/screenshot', findCasebyID, upload.single('screenshot'), async (req, res) => {
try {
        req.case.screenshot = req.file.buffer
        await req.case.save()
        res.send()
} catch (e) {
    res.status(409).send(e)
}...

标签: javascriptnode.jsaxiospostmanmultipartform-data

解决方案


我设法解决了这个问题:

const config = { headers: { 'Content-Type': `multipart/form-data; boundary=${form._boundary}`, } };

推荐阅读