ファイルストリームが得意とダウンロードを達成ダウンロードするためのプロジェクトの要求インタフェースの需要があります。
角度パッケージポスト要求は常にまっすぐエラーを行く、結果に成功コールバックを印刷されていません。
彼はネイティブの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で再現