基于axios封装之后的上传文件,传参为空
最近做项目时,发现了一个问题。封装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,
});
}
原生的就可以用了!
声明:本人菜鸟,如果又大佬知道怎么解决麻烦评论一下,我去私信您,谢谢!