前端将后台传的文件流下载为文件到本地

时间:2025-02-14 07:20:06

后台将excel文件解析为流的形式返给前端,前端拿到数据完成下载。利用XMLHttpRequest,具体代码实现如下:

var oReq = new XMLHttpRequest();
//url参数为拿后台数据的接口
("POST",url, true);
 = "blob";
 = function (oEvent) {
    var content = ;
    var elink = ('a');
    //name为后台返给前端的文件名,后缀名必须加,后台有返回后缀就不用管,不然下载在本地不好打开。

     = name+".xls";
     = 'none';
    var blob = new Blob([content]);
     = (blob);
    (elink);
    ();
    (elink);
};
//请求头里放入用户口令,必须在.open()和.send()之间设置
('usertoken', token);
();

事件触发的时候浏览器的下载框就弹出来了,这种方式可以下载多种格式文件流