axiosは、返されたエラー情報のためのファイルをダウンロードするために)(新規FileReaderを使用します

this.axios({
          方法:「ポスト」、
          URL:URL、
          日付:日付、
          responseType: "ブロブ" 
        })
          .then(RES => {
            const型データ= res.data
            )(R =新規FileReaderをしましょう
            r.onload =関数(){
              {試します
                聞かせてresData = JSON.parse(this.result)
                console.log(resData)
                IF(resData && resData [ 'コード'] && resData [ 'コード']!= '1000'){
                 警告(resData.msg);ポップアップエラーMSG //リターン
                }
              }キャッチ(ERR){
                聞かせてfileNameに=「ダウンロードファイル名.XLS」
                //互換性のIE11
                IF(window.navigator.msSaveOrOpenBlob){
                  {試します
                    CONST blobObject =新たなBLOB([データ])
                    window.navigator.msSaveOrOpenBlob(blobObjectファイル名)
                  }キャッチ(E){
                    console.log(E)
                  }
                  リターン
                }
               this.download(データファイル名)
                警告(「輸出の成功」)
              }
            }
            r.readAsText(データ)// FileReaderの的のAPI
          })
          .catch(E => {
            MSG =「異常なネットワーク」をしましょう。
            _that.isCanClick =真
            この$ Message.error(MSG)。
          });
 
 //ダウンロードファイル
    ダウンロード(データ、名称){
      (もし!データ){
        返します。
      }
      聞かせてのurl = window.URL.createObjectURL(新しいブロブ([データ]));
      聞かせてリンク=のdocument.createElement( "A");
      link.style.display =「なし」。
      link.href = URL;
      link.setAttribute( "ダウンロード"、名);
      document.body.appendChild(リンク)。
      link.click();
    }、

おすすめ

転載: www.cnblogs.com/jiajiamiao/p/11607598.html
おすすめ