之前也遇到过这个问题,后端需要formdata格式数据,结果我用console.dir(formdata.get('key'))能拿到数据,但是接口就是说你没有,就很怪,看看请求头,也配置了'Content-Type': 'multipart/form-data',正当我一头雾水的时候,突然想起来,载荷的标题,如果是formdata,他会显示表单数据
但是我却显示的是请求载荷
而且外面还包了一层大括号,这个时候,我才想起来到如果后端只要formdata,data后面似乎不需要大括号,甚至头的设置也可以去掉,axios会自动配置,流汗了
// 错误代码
export const uploadInvoiceApi = (data) => {
console.dir(data.file.get('file'))
return request({
url: baseUrl + '/invoice/upload?id=' + data.id,
method: 'post',
data: {
file: data.file
},
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
//正确代码
export const uploadInvoiceApi = (data) => {
console.dir(data.file.get('file'))
return request({
url: baseUrl + '/invoice/upload?id=' + data.id,
method: 'post',
data: data.file
})
}