前端文件流的下载

121 阅读1分钟

有时候文件下载后端返回的是下载地址,也可能是文件流,记录一下文件流下载方式:

fileStreamDownLoad(res){
    // 开始处理文件下载 - res.data为文件流
    let blobUrl = window.URL.createObjectURL(new Blob([res.data], {
        // 后台传递的文件类型 - 此处我是直接从后台获取的
        // 也可以根据文件类型添加
        type: res.headers['content-type']
    }));
    const link = document.createElement('a');
    link.style.display = 'none';
    link.href = blobUrl;
    // fileName 文件的名称
    link.setAttribute('download', fileName)
    document.body.appendChild(link)
    link.click();
    document.body.removeChild(link);
}