エクスポートエクセルスプレッドシートファイルストリーム方法

ファイルストリームが得意とダウンロードを達成ダウンロードするためのプロジェクトの要求インタフェースの需要があります。

角度パッケージポスト要求は常にまっすぐエラーを行く、結果に成功コールバックを印刷されていません。

彼はネイティブのAjaxの送信要求を使用しての考えを変えました。

「ブロブ」としてresponseTypeを設定するために、ここでは、フォーカスをネイティブAJAXを使用して、downloadFileメソッドを呼び出すダウンロード、

私たちは、ログオン要求が認証トークンを追加する必要が合格預金

downloadFile(filename)で{

        この=定数;

          constのREQ =新しいXMLHttpRequestを();

          req.open( 'POST'、this.archiveNew + '/ EC /クエリ/ downLoadOrder'、TRUE);

          req.responseType = 'ブロブ';

          req.setRequestHeader( 'Content-Typeの'、 'アプリケーション/ JSON');

          req.setRequestHeader( '認可'、 'ベアラ' + this.jwtToken)。


          req.onload =関数(){

                    const型データ= req.response。

                    //動的にダウンロードを達成するために、ラベルのクリックメソッドへの呼び出しを作成し、変換ブロブによる応答がblobUrlをゲット

                    CONSTブロブ=新たなBLOB([データ])。

                    CONST blobUrl = window.URL.createObjectURL(BLOB)。

                    that.downloadMethod(blobUrlファイル名)。

             }。

        //パラメータは、ポストパスJSON.stringifyの順序に注意を払う必要があります

          CONSTデータ= JSON.stringify({ 'fileNameに' ます。filename})。

          req.send(データ)。

}

downloadMethod(blobUrlファイル名){

        //にconsole.log(blobUrl)。

          CONST A =のdocument.createElement( 'A')。

          a.className = 'downloadFileA';

          a.style.display = 'なし';

          a.download =ファイル名;

          a.href = blobUrl。

          a.click();

          $( 'downloadFileA')(削除)。

}

ます。https://www.jianshu.com/p/917369dcd8bdで再現

おすすめ

転載: blog.csdn.net/weixin_34391854/article/details/91142050