1. /**
    2. * 下载文件
    3. * @param url 文件路径
    4. * @param fileName 文件名
    5. * @param parameter
    6. * @returns {*}
    7. */
    8. export function downloadFile(url, fileName, parameter) {
    9. return downFile(url, parameter).then((data) => {
    10. if (!data || data.size === 0) {
    11. Vue.prototype['$message'].warning('文件下载失败')
    12. return
    13. }
    14. if (typeof window.navigator.msSaveBlob !== 'undefined') {
    15. window.navigator.msSaveBlob(new Blob([data]), fileName)
    16. } else {
    17. let url = window.URL.createObjectURL(new Blob([data]))
    18. let link = document.createElement('a')
    19. link.style.display = 'none'
    20. link.href = url
    21. link.setAttribute('download', fileName)
    22. document.body.appendChild(link)
    23. link.click()
    24. document.body.removeChild(link) //下载完成移除元素
    25. window.URL.revokeObjectURL(url) //释放掉blob对象
    26. }
    27. })
    28. }