<el-button
class="correct-button"
>
<el-upload
action="#"
:show-file-list="false"
:file-list="fileList"
:http-request="httpRequest"
>
<i class="iconfont icon-icon-daoru"></i>
<span>导入</span>
</el-upload>
</el-button>
data() {
return {
fileList: [],
};
// 导入
httpRequest(files) {
const fd = new FormData();
fd.append('file', files.file);
// 导入接口
importData(fd).then((res) => {
if (res.code === '00000') {
this.$message.success('导入成功');

} else {
this.$message.error('导入失败');
}
});
},
import ajax from 'axios';

export const importData= (data) => ajax({
method: 'post',
url: 你的url,
headers: {
'Content-Type': 'multipart/form-data',
},
data,
});

如果导入时携带参数

// 导入
httpRequest(files) {
const fd = new FormData();
fd.append('file', files.file);
// 导入接口
importData({name:this.name},fd).then((res) => {
if (res.code === '00000') {
this.$message.success('导入成功');

} else {
this.$message.error('导入失败');
}
});
},
import qs from 'qs';

export const importData= (params, data) => ajax({
method: 'post',
url:你的url?${qs.stringify(params)}`,
headers: {
'Content-Type': 'multipart/form-data',
},
data,
});

插播:qs.stringify 是把一个参数对象格式化为一个字符串。

let params = { c: 'b', a: 'd' };
qs.stringify(params)

// 结果是
'c=b&a=d'

或者

import qs from 'qs';

export const importData= (params, data) => ajax({
method: 'post',
url:你的url,
headers: {
'Content-Type': 'multipart/form-data',
},
data,
params
});