这个问题通常是由于未正确设置请求头或未将文件正确添加到formData中引起的。可以参照以下代码示例,正确设置请求头并将文件添加到formData中:
// 创建一个formData对象
const formData = new FormData();
// 获取文件对象
const file = document.getElementById('file-input').files[0];
// 添加文件到formData中
formData.append('file', file);
// 设置请求头
const config = {
headers: {
'Content-Type': 'multipart/form-data'
}
};
// 发送请求
axios.post('/api/upload', formData, config)
.then(res => {
console.log(res.data);
})
.catch(err => {
console.error(err);
});
在上面的代码中,我们首先创建一个formData对象,然后从DOM中获取文件对象,将其添加到formData中。接下来,我们设置请求头以确保服务器可以正确解析formData,最后使用axios发送POST请求并处理返回结果或错误。