vue实现文件下载功能

摘要:
请求interface://Export将excel表导出到桌面getData Exportexcel=(data)=˃{returnhttp({method:“post”,url:baseUrl+“/Exportexcel/”,data:{firstName:“Fred”,lastName:“Flintstone”},responseType:“blob”})}下载并调用请求返回的数据的方法:exportexce

对接口进行请求:

//导出excel表到桌面
getData.exportexcel = (data)=>{ 
  return http({
    method: 'post',
    url: baseUrl + '/exportexcel/',
    data: {
        firstName: 'Fred',
        lastName: 'Flintstone'
    },
    responseType: 'blob'
  })
}

对请求回来的数据进行方法下载和调用:

      exportexcel(){
        //打印报表
        url.exportexcel().then(res=>{
          console.log(res,this,'----------数据')
          this.download(res)
        })
        console.log('---------点击按钮')
      },
      download (data) {
          if (!data) {
              return
          }
          let url = window.URL.createObjectURL(new Blob([data]))
          let link = document.createElement('a')
          link.style.display = 'none'
          link.href = url
          link.id='Adownload'
          link.setAttribute('download', 'excel.xls') //命名可能会出现问题,格式一定和后端下载的格式一样
          
          document.body.appendChild(link)
          link.click()
          document.getElementById('Adownload').remove();
      }

点击下载按钮进行下载操作

<div @click="exportexcel">左侧屏幕</div>

免责声明:文章转载自《vue实现文件下载功能》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇人工智能学习笔记Dapper 多表(三表以上)查询小技巧下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue页面是否缓存的两种方式

第一种 <keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view&g...

前端框架Vue自学之Vue router(六)

终极目标:掌握和使用Vue(全家桶:Core+Vue-router+Vuex) 本博客目的:记录Vue学习的进度和心得(Vue router) 内容:学习和使用Vue router。 正文: Vue router 一、认识路由 1、路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。 2、路由器提供了两种机制:路由和转送。路由是决定...

ETCD节点故障恢复

我在微服务组里面主要负责配置中心的构建,我们的配置中心使用到了ETCD。在我们的内网环境中搭建了三个节点的ETCD,不过这三个节点的ETCD都搭建在同一台机器上。后来机器资源不够了系统直接kill了ETCD,导致内网的ETCD三个节点全部挂掉了。刚开始想逐个启动就完事了,但是按照之前的data-dir启动之后发现三个节点握手存在问题,原因是三个节点缓存数据...

鼠标悬浮显示鼠标停留数据的内容 elementui + vue

先看效果图 直接上代码 <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane :label="speaker.abscissa[0]" name="first"> <div...

【Vue后台管理三】集成echarts图表

集成echarts图标 路一步步走,代码得一个个敲,今天自己来集成了echarts图标,为什么要集成echarts了? 图表表示数据,应该是最清晰直白了,所以很多管理页面的首页都集成了。 首先看看效果 下面应该还有一个关于每月销量收入的图表,明天在加上。 站在巨人的肩膀上 我个人没真实做过后台管理项目,所以了这些后台的样子,是参考我公司后台管理样式和一些...

学习vue 20天,我写了点东西

往昔 最初团队里使用Angularjs进行开发,刚开始还好,到了项目后期越发感觉Angularjs太重了,以至于后来重构项目时,毅然放弃Angularjs,投入了Vue的怀抱。除了组建团队时,是我搭建了基于Angularjs的前端开发框架,之后都是由前端小组开发。前段时间,由于公司层面的原因,整个团队解散,不得已我又要写前端程序了。 虽然前期Angular...