フロントエンドダウンロードファイル&互換IE


以前作ったファイルをダウンロードして、IEに対応しています.当時何編かのブログを検索して、やっと書きました.今取り出して分けてみます.直接に皆さんに助けてもらいたいです.ご指摘を歓迎します.
    let param = {
      projectId,
    }
    let url = '/xxx/xxx';
    axios.post(url,param,{responseType: 'blob'})
      .then((response) => {
        let res = response.data;
        if (res["content-type"] && res["content-type"].indexOf('application/json') !== -1) {
          let reader = new FileReader();
          reader.readAsText(res, 'utf-8');
          reader.onload = function (e) {
            let data = JSON.parse(reader.result);   //e.target.result  
            if(data.msg){
              message.error(data.msg);
            }           
          }
        }else{
          let blob = new Blob([response.data])
          let downloadElement = document.createElement('a');
          let href = window.URL.createObjectURL(blob); //       
          let fileName = response.headers["content-disposition"].split(";")[1].split("filename=")[1];
          if (isIE) {
            window.navigator.msSaveBlob(blob, fileName);
          } else {
            downloadElement.href = href;
          downloadElement.download = fileName; //      
          document.body.appendChild(downloadElement);
          downloadElement.click(); //    
          document.body.removeChild(downloadElement); //        
          window.URL.revokeObjectURL(href); //   blob   
          }
        }
      })
      .catch((err) => {
        console.error(err)
      });