//文件下载
downFile() {
if (‘download’ in document.createElement(‘a’)) {
// 非IE下载
const elink = document.createElement(‘a’)
elink.href = imgView + ‘group1/M00/00/88/FGQfoGIOD3mAW4ezAABGAM4MtrA503.xls’ //file.url
elink.download = ‘xyqzmb.xls’ //file.name
elink.style.display = ‘none’
//link.target=“_blank”;
elink.click()
}
由于a.download跨域会失效,上面代码只可同域实现
二、通过blob实现跨域下载并修改文件名(同样适用于URL地址)
方法
//通过文件下载url拿到对应的blob对象
getBlob(url) {
return new Promise(resolve => {
const xhr = new XMLHttpRequest()
xhr.open(‘GET’, url, true)
xhr.responseType = ‘blob’
xhr.onload = () => {
if (xhr.status === 200) {
resolve(xhr.response)
}
}
xhr.send()
})
},
//下载文件 js模拟点击a标签进行下载
saveAs(blob, filename) {
var link = document.createElement(‘a’)
link.href = window.URL.createObjectURL(blob)
link.download = filename
link.click()
},
事件调用
<a-button type=“primary” icon=“download” @click=“downFile”>下载
//文件下载
downFile() {
let fileUrl = imgView + ‘group1/M00/00/88/FGQfoGIPDfuAErRaAABGAH4FyJ4422.xls’ //服务器文件地址
this.getBlob(fileUrl).then(blob => {
this.saveAs(blob, ‘信用权证使用导入模板件名.xlsx’)
})
},
以上是直接拿文件url地址下载。
请求接口下载文件方法: 以下方法仅供参考,项目不同,调用方法不同
vue组件
import { exportxlsx } from ‘@/api/api’
//导出
exportData() {
let req = {
createStartDate: this.startDate,
createEndDate: this.endDate,
status: this.status,
}
exportxlsx(‘/sys/mjBaseCount/exportMjGuaCountData’, req).then(res => {
console.log(res);
this.loading = false
const content = res
const blob = new Blob([content])
const fileName = ‘担保方式统计.xlsx’
if (‘download’ in document.createElement(‘a’)) {
// 非IE下载
const elink = document.createElement(‘a’)
elink.download = fileName
elink.style.display = ‘none’
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink)
} else {
// IE10+下载
navigator.msSaveBlob(blob, fileName)
}
})
}
api.js文件
import { exportFunc } from ‘@/api/manage’
//导出
const exportxlsx = (url, params) => {
params.brNo = “000000”
let req = {
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!