天天看點

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)

      })

     },