vue关于处理后端返回的blob二进制文件数据的方法
最近遇到开发下载表哥文件流的需求,才仔细回顾了下blob二进制流文件的特点和对应的处理方法,其实还是相当简单的,原理就是利用请求头中的responseType:‘blob’,去自动接受blob流文件,然后使用new Blob()方法处理和后续下载,具体代码如下:const blob1 = new Blob([res]);//new Blob([res])中不加data就会返回下图中[objece
·
最近遇到开发下载表哥文件流的需求,才仔细回顾了下blob二进制流文件的特点和对应的处理方法,其实还是相当简单的,原理就是利用请求头中的responseType:‘blob’,去自动接受blob流文件,然后使用new Blob()方法处理和后续下载,具体代码如下:
const blob1 = new Blob([res]);//new Blob([res])中不加data就会返回下图中[objece objece]内容(少取一层)
//const blob = new Blob([res.data]);//new Blob([res])中不加data就会返回下图中[objece objece]内容(少取一层)
const fileName = '渠道调拨订单.xlsx';//下载文件名称
const elink = document.createElement('a');
elink.download = fileName;
elink.style.display = 'none';
elink.href = URL.createObjectURL(blob1);//创建一个DOMString包含了一个对象URL,该URL可用于指定源 参数对象的内容。
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
是不是很简单呢
更多推荐
已为社区贡献2条内容
所有评论(0)