文件流下载文件封装

 

  import { exportMethod } from '@/utils/helper/exportExcel'
  methods: {
      downLoadFileTemplate(){
       const myObj = {
        method: 'get',
        url: process.env.VUE_APP_API_BASE_URL + '/authoritycenter/api/permission/downloadPermissionImportTemplate',
        fileName: '权限管理模板',
        // data: { }
      }
  }

 exportExcel.js

import axios from 'axios'
// import { insertProjectRecord } from '@/api/pmo/projectLog'
import Vue from 'vue'
export function exportMethod (obj, type, id) {
  Vue.prototype.$loading.show({ tip: `正在导出数据,请耐心等候……` })
  axios({
    method: obj.method,
    url: `${obj.url}${obj.params ? '?' + obj.params : ''}`,
    responseType: 'blob',
    data: obj.data,
    withCredentials: true
  }).then((res) => {
    const link = document.createElement('a')
    const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
    link.style.display = 'none'
    link.href = URL.createObjectURL(blob)
    // link.download = res.headers['content-disposition'] //下载后文件名
    link.download = obj.fileName // 下载的文件名
    document.body.appendChild(link)
    link.click()
    // if (id) {
    //   const params = {
    //     businessType: '文件导出',
    //     content: '导出' + type,
    //     projectId: id
    //   }
    //   // insertProjectRecord(params).then(res => { console.log('记录成功') })
    // }
    document.body.removeChild(link)
  }).catch(error => {
    console.log(error)
    Vue.prototype.$message.error({
      title: '错误',
      content: '网络连接错误'
    })
    console.log(error)
  }).finally(() => {
    Vue.prototype.$loading.hide()
  })
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值