最近做项目时,发现了一个问题。封装axios的请求和返回拦截之后,上传文件的上传参数莫名其妙为空对象了。本人是菜鸟只能用不进行封装的axios进行上传文件
封装的
export function fileUpload(url, params) {
const fileObject = params.file;
const formData = new FormData();
formData.append('file', fileObject);
console.log(formData.get("file"))
return request({
url: url,
method: 'post',
headers: {
'Content-Type': 'multipart/form-data',
// transformRequest: [data=> data]
},
data: formData
})
}
这里的request就是从封装axios的文件中引用的;
这种情况下提交文件莫名其妙变成空了;
百度说transformRequest声明下data就好了,但是不知道我这里为啥不行
原生的
import axios from 'axios'
export function fileUpload(url, params) {
const fileObject = params.file;
const formData = new FormData();
formData.append('file', fileObject);
return axios({
url: process.env.VUE_APP_BASE_API + url,
method: "post",
headers: {
"Content-Type": "multipart/form-data",
},
data: formData,
});
}
原生的就可以用了!!!