js 流下载文件

 
import vue from 'vue'
import { ACCESS_TOKEN } from '@admin/store/mutation-types'
import {cloneDeep} from 'lodash'
import axios from 'axios'
import downloader from 'downloadjs'
 
 
 
 downList(type){
       let param={
        type: type
         }
      axios({
        method: 'get',
        url: process.env.VUE_APP_BASE_API + '/speed-progress/selectExcl',
        params:param,
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
          'X-Access-Token': vue.ls.get(ACCESS_TOKEN),
        },
         responseType:"blob"
      }).then((res) => {
        console.log(res)
        const fileName = res.headers['content-disposition']
          ? window.decodeURI( res.headers['content-disposition'].split('=')[1],  'UTF-8',  )  : 'data.csv'
             const extension = fileName.split('.')[1]
        if(extension == 'csv'){
         downloader(res.data, fileName)
        }
        else{
          downloader(new Blob([res.data], {type: 'application/' + extension}), fileName)
        }
      })
     
     },
posted @ 2021-09-28 17:09  泽泽生龙  阅读(158)  评论(0编辑  收藏  举报