前端处理二进制流---文件下载

前端在开发下载功能时,获取到后端返回的二进制流数据,如下所示


后端返回的二进制流数据(奇奇怪怪的非人类文本)

此时,我们可以这样处理!直接上图》(看图更方便理解,下面可以粘取代码,喜欢记得点个赞呦~)


代码截图~

代码如下:

let config = {

        responseType: "blob",

        headers: {

          "Content-Type": "application/json",

        },

      };

      axios.post("/stockQuery/stockDownload", params, config).then((res) => {

        const blob = new Blob([res.data]);

        const fileName = "库存列表.xls";

        const linkNode = document.createElement("a");

        linkNode.download = fileName; //a标签的download属性规定下载文件的名称

        linkNode.style.display = "none";

        linkNode.href = URL.createObjectURL(blob); //生成一个Blob URL

        document.body.appendChild(linkNode);

        linkNode.click(); //模拟在按钮上的一次鼠标单击

        URL.revokeObjectURL(linkNode.href); // 释放URL 对象

        document.body.removeChild(linkNode);

      });

思路及部分代码来源暂时找不到了,侵删~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。