出现该问题通常是因为在Nodejs中使用axios发送表单数据时,未正确使用FormData()来格式化数据。以下是一个示例代码,展示如何使用axios在Nodejs中正确发送表单数据:
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
const formData = new FormData();
formData.append('file', fs.createReadStream('/path/to/file'));
axios.post('http://example.com/upload', formData, {
headers: formData.getHeaders()
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});
在上述代码中,首先通过require()引入axios、FormData和fs模块。然后创建一个FormData实例,并使用append()方法将要发送的表单数据添加进去。接着使用axios.post()方法发送表单数据,同时通过headers参数传递FormData的header信息。最后使用Promise的.then()和.catch()方法分别处理成功和失败的回调函数。