如何使用axios将此curl转换为POST请求[duplicate]

wgeznvg7  于 2023-01-13  发布在  iOS
关注(0)|答案(1)|浏览(143)
    • 此问题在此处已有答案**:

AxiosError: getaddrinfo ENOTFOUND(3个答案)
12小时前关门了。
我有curl命令的例子。但是我想用nodejs的axios来做POST请求。我从docs得到这个curl的例子。这里是curl的例子。

curl -X POST https://example.com/upload
 -d "api_key=API_KEY"
 -d "@path/filename.mp4"
 -H "Content-Type: application/x-www-form-urlencoded"

我的项目目录中有.mp4。

const filePath = __dirname + "/video/Video.mp4";
const fileData = fs.readFileSync(file);

我使用readFileSync来获取fileData。这实际上是正确的吗?如果有什么错误,请指出我。我希望有人能给我一个基于这个curl例子如何使用axios进行POST请求的例子结构。谢谢你。

5q4ezhmt

5q4ezhmt1#

Axios立柱结构:

axios.post(URL, data, config);

const headers = {
    "Content-Type": "text/json"
};

const data = {
    name: "ABC"
};

const result = await axios.post("https://www.example.com/upload", data, {
    headers: headers
});

在你的情况下,试试这个。

//import these
const Formdata = require('form-data');
const fs = require('fs');

const filePath = __dirname + "/video/Video.mp4";
const fileData = fs.readFileSync(file);

//initialize the form data like this
const dataa = new Formdata();

//now append the form data

dataa.append('file',fileData);

//now for sending the file in the call we use **multipart/form-data**

//let's create headers here

const headerss = {
    headers: 'Content-Type': 'multipart/form-data'
}

//All done it's time to post the data to the given URL

axios.post('https://example.com/upload',dataa, headerss).then((res)=> console.log(res));

相关问题