来自axios的FormData无法正确发送

时间:2020-03-13 16:31:40

标签: node.js http post axios form-data

我有一个服务,该服务向单独的服务发出http请求,并得到响应。

我在邮递员中尝试过,通过使用正文和一些formdata调用端点: enter image description here

这应该是正确的,但是当我在节点中模拟此操作时,服务会说它找不到我使用form-data npm模块的任何form-data参数,因为默认form-data程序包在节点中不可用:

 formData.append("json", Buffer.from(rawdoc).toString('base64'));
    formData.append("coordinates", Buffer.from(JSON.stringify(newFormat)).toString('base64'));
    //console.log(Buffer.from(rawdoc).toString('base64'))
    //console.log(Buffer.from(JSON.stringify(newFormat)).toString('base64'))
    const url = "<serviceurl>"

    axios.post(url, formData)
    .then(res =>{
        const data = res.data
        return res.status(200).send(data)
    }).catch(err =>{
        //this error should be logged
        //console.log(err)
        console.log(err.response.data)
        return res.status(500).send(err)
    }) 

但是我得到这样的答复:

{
  timestamp: '2020-03-13T16:26:23.374+0000',
  status: 400,
  error: 'Bad Request',
  message: "Required String parameter 'json' is not present",
  path: '/nearest/document'
}

我认为formdata的发布不正确,但是与邮递员有什么区别,因为我没有设置任何显式的标题?

0 个答案:

没有答案