javascript - 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....
如何在 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)
}...
解决方案
我设法解决了这个问题:
const config = { headers: { 'Content-Type': `multipart/form-data; boundary=${form._boundary}`, } };
推荐阅读
- python - 尝试将 y 变量读入 pyplot.scatter 时出现 IndexError
- android - 是否可以存档当前的商品列表重新上传 apk 到新的商品列表
- csv - Spark:没有输入文件名
- arrays - 将下采样图像映射到原始分辨率 - MATLAB
- sql-server - 限制每组中只有一个标记为主要的记录
- javascript - Jquery兄弟姐妹在警报中显示未定义
- symfony - Symfony 3.4/doctrine2:在分离的对象中获取实体原始数据以进行比较
- tensorflow - 无法在 Windows 上安装 tensorflow
- c++ - QtCreator 中用于 C++ 类型的自动完成
- javascript - How to resume the submit request that was blocked by event.preventDefault(); when the function is executed