Javascript Next.js:axios PATCH方法上传图像返回400:提交的数据不是文件。检查表单上的编码类型

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"

我有一个文件输入字段,用户从计算机上传图像。我在《邮递员》杂志上测试过,效果不错。但在使用axios的Next.js中,它返回400,在XHR的响应选项卡中,它说:

我的axios代码:

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