axios 相当于 http 请求?

axios equivalent of http requests?

我想发起如下http请求

POST /v1/images HTTP/1.1
Host: api.medium.com
Authorization: Bearer 181d415f34379af07b2c11d144dfbe35d
Content-Type: multipart/form-data; boundary=FormBoundaryXYZ
Accept: application/json
Accept-Charset: utf-8

--FormBoundaryXYZ
Content-Disposition: form-data; name="image"; filename="filename.png"
Content-Type: image/png

IMAGE_DATA
--FormBoundaryXYZ--

Medium API

我已经尝试关注了。

var axios = require("axios")

var data = (await axios("https://example.com/image.png")).data;

axios.post("https://api.medium.com/v1/images",{image: data},{
headers: {
 "Content-Type" : "multipart/form-data",
 "Authorization" : "Bearer " + process.env.key
}
}).then(x=>console.log(x.data))

然后出现以下错误。

Error: Request failed with status code 400

它使用Medium API上传图片,我想获取远程图片,并将其转换为multipart/form-data并通过API上传,HTTP请求似乎很混乱,我想要等效的 axios 代码,有人帮忙吗?

尝试使用 FormData 而不是普通对象?

例子应该是这样的

const formData = new FormData();
formData.append('image', data);
axios.post('https://api.medium.com/v1/images', formData, {
  headers: {
    "Content-Type" : "multipart/form-data",
    "Authorization" : "Bearer " + process.env.key
  }
});

参考: