后端接口返回二进制文件流 前端通过blob对象实现下载

应用  axios+vue

axios({
        method: 'post',
        url: url,
        data: {},
        responseType: 'blob'
    }).then(res => {
        let data = res.data
        let url = window.URL.createObjectURL(new Blob([data]))
        let link = document.createElement('a')
        link.style.display = 'none'
        link.href = url
        link.setAttribute('download', 'test.rar')

        document.body.appendChild(link)
        link.click()
    }).catch((error) => {})

这里需要注意如果请求失败 请检查项目拦截器是否拦截 

你可能感兴趣的:(vue)