文件下載 (Blob)

在前端下載東西的時候, 有些情況下後端 會提供二進制數據給我們, 我們前端應該如何處理呢?

一 , 在請求頭加上 我們要的返回 類型 blob

{ responseType: 'blob', observe: 'response' }

二,前端 拿到blob 數據 後怎麼處理

/** 下載模板 */
  downloadTemplate() {
    this.backendService.downloadWorkflowTemplate().subscribe(data => { // 這裏可以忽略只是拿到blob 數據
      const link = document.createElement('a');
      const blob = new Blob([data.body], { type: 'application/zip' });
      // 後面是用 a 標籤 的 download 去下載 
      link.setAttribute('href', window.URL.createObjectURL(blob));
      link.setAttribute('download', '模板.xlsx'); // 這裏是文件名字和後綴
      link.style.visibility = 'hidden';
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
    });
  }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章