方法一:a标签下载,最简单的下载
html代码~
<div v-if="idx==0">
<el-button @click="uploadUser" ><a :href='`http://192.168.2.151:8000/download?batchNumber=${this.formLabelAlign.batchNumber}`'>导出</a></el-button>
</div>
methods方法
/**
* 导出
*/
uploadUser(){
this.queryParams = this.formLabelAlign
ExportData(this.queryParams)
.then(response => {
this.$message({
type: 'success',
message: '导出成功!'
})
this.DownloadVisible = false
})
.catch(error => {
this.DownloadVisible = false
})
},
方法二:blob 下载
html代码
<el-button plain style="color:#FF9966" @click="getExcel()">导出</el-button>
JS代码
/**
* 下载功能
*/
getExcel(index, row) {
// const user = this.$store.state.userToken
axios({
method: 'post',
url: 'http://111.205.85.40:8083/toll/vehicle/export/onQueryRoute',
headers: {
'Content-Type': 'application/json'
// 'Authorization': `Bearer ${this.$store.state.userToken}`,
},
data: this.nowqueryData,
responseType: 'arraybuffer', // 或者responseType: 'blob'
xsrfHeaderName: 'Authorization'
})
.then(res => {
const blob = new Blob([res.data], {
type: 'application/vnd.ms-excel'
})
const objectUrl = URL.createObjectURL(blob)
window.location.href = objectUrl
})
.catch(err => {
this.$message.error(error.msg)
})
},