最近遇到开发下载表哥文件流的需求,才仔细回顾了下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);
是不是很简单呢
Logo

前往低代码交流专区

更多推荐