下载按钮js方法

创建一个a标签下载:

复制代码
// 模板下载
    templateDown() {
      const a = document.createElement('a')
      const evt = document.createEvent('MouseEvents')
      a.download = '导入模板'
      a.href = '/importTemplate.xls'
      evt.initEvent('click', true, true)
      a.dispatchEvent(evt)
      window.URL.revokeObjectURL(a.href)
    }
复制代码

直接调后台接口下载:

// 下载文件
    downloadClick(row) {
      window.location.href = process.env.VUE_APP_BASE_API + '/sysFileInfo/publicDownload?fileId=' + row.id
    }

下载blob:

复制代码
api.fileDownload(this.fileList[0]).then(res => {
        const currentdate = this.fileList[0].fileOriginName
        const blob = new Blob([res.data], { type: res.data.type })
        const url = window.URL.createObjectURL(blob) // URL.createObjectURL(object)表示生成一个File对象或Blob对象
        const dom = document.createElement('a') // 设置一个隐藏的a标签,href为输出流,设置download
        dom.style.display = 'none'
        dom.href = url
        dom.setAttribute('download', currentdate) // 指示浏览器下载url,而不是导航到它;因此将提示用户将其保存为本地文件
        document.body.appendChild(dom)
        dom.click()
      })
复制代码

 

posted @   Ning-  阅读(180)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示