处理后台返回FileContentResult,前端下载文件

    // 第一种方式,比较简单,直接打开页面下载。

    window.open(url)

    // 第二种方式,post、get都适用,创建一个隐藏的a标签,然后触发下载事件。

    this.http.get(url, { responseType: 'arraybuffer'}).subscribe(

      rs => { 

        let blob = new Blob([rs])

        let objectUrl = URL.createObjectURL(blob);  

        let a = document.createElement('a');

        document.body.appendChild(a);

        a.setAttribute('style', 'display:none');

        a.setAttribute('href', objectUrl);

        a.setAttribute('download', fileName);

        a.click();

        URL.revokeObjectURL(objectUrl); 

      }

    )

你可能感兴趣的:(处理后台返回FileContentResult,前端下载文件)