axios 異步下載文件

import request from '@/router/axios';
import { baseUrl } from '@/config/env';
/**
 * 附件下載
 * @returns
 */
export function download(query, url) {
    request({
        url: `${baseUrl}${url}`,
        method: 'get',
        responseType: 'blob',
        params: query
    }).then((res) => {
        const fileName = res.headers['content-disposition'].replace('attachment;filename=', '')
        const blob = new Blob([res])
        const href = window.URL.createObjectURL(blob)
        const a = document.createElement('a') // 創建a標籤
        a.style.display = 'none'
        a.href = href
        a.download = query.fileName || decodeURI(fileName)
        a.click()
        URL.revokeObjectURL(a.href)
    })
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章