接口数据返回如下:

js代码如下:
submitForm () {
yearlyFeeCustomerImport({file: this.files}).then(res => {
if (res.code === 5000) { // 导入失败
let str = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8;base64,'+ res.data
let file = this.dataURLtoFile(str, '导入失败.xlsx')
let blob = new Blob([file], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'})
const url = window.URL.createObjectURL(blob)
const link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', '导入失败.xlsx')
document.body.appendChild(link)
link.click()
document.body.removeChild(link) // 点击后移除,防止生成很多个隐藏a标签
} else if (res.code === 200) { // 成功
this.$emit('save', true)
}
}).catch(err => {
console.log(err)
})
},
dataURLtoFile (dataurl, filename) {//将base64转换为文件
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n)
while(n--){
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], filename, {type:mime})
},
api如下:
export function yearlyFeeCustomerImport (data) {
var param = new FormData()
for (const key in data) {
if (data.hasOwnProperty(key)) {
param.append(key, data[key])
}
}
return request({
url: 'kfcloud-finance/yearly/fee/customer/import',
method: 'post',
data: param,
headers: {
'Content-Type': 'multipart/form-data' // formData提交方式
}
})
}