Javascript Next.js:axios PATCH方法上传图像返回400:提交的数据不是文件。检查表单上的编码类型
我有一个文件输入字段,用户从计算机上传图像。我在《邮递员》杂志上测试过,效果不错。但在使用axios的Next.js中,它返回400,在XHR的响应选项卡中,它说: 我的axios代码:Javascript Next.js:axios PATCH方法上传图像返回400:提交的数据不是文件。检查表单上的编码类型,javascript,axios,next.js,multipartform-data,form-data,Javascript,Axios,Next.js,Multipartform Data,Form Data,我有一个文件输入字段,用户从计算机上传图像。我在《邮递员》杂志上测试过,效果不错。但在使用axios的Next.js中,它返回400,在XHR的响应选项卡中,它说: 我的axios代码: const addUserAvatar = () => { console.log("AVATAR: ", avatar); const formData = new FormData(); formData.append("avatar"
const addUserAvatar = () => {
console.log("AVATAR: ", avatar);
const formData = new FormData();
formData.append("avatar", avatar);
const url = 'http://127.0.0.1:8000/api/auth/profile/' + `${userid}` + '/';
const config = {
headers: {'Content-Type': 'multipart/form-data', 'Accept': 'application/json'}
};
axios.patch(url, formData, {withCredentials: true}, config)
.then(function(resp) {console.log(resp.data)})
.catch(err => console.log(err));
};
还尝试从axios中删除headers的配置参数,但也不起作用:
axios.patch(url, formData, {withCredentials: true})
.then(...)
.catch(...)
为什么会出现这种错误?那么如何上传文件呢?Axios配置对象应该包括
标题和带凭据,并作为第三个参数传递给Axios.patch
。