使用axios的post请求上传文件时,会出现提示发出去的数据为空,下面是解决方法

因为浏览器会默认为我们的请求添加“Content-Type:application/json”请求头,但是上传文件后端需要的请求头是Content-Type:multipart-formData,因此把请求头修改成这个就可以了

修改可以有两种修改方法,一个是设置默认请求头,一个是只修改这个接口的请求头

  1. 修改默认请求头:

axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
  1. 只修改当前方法的请求头

export function upload(params) {
  return request({
    method: 'post',
    headers: {
      'Content-Type': 'multipart-formData'
    },
    url: 'url',
    data: params
  })
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐