私は(MVCを置き換えるために)angular2クライアントを開発しているWebApi / MVCアプリを持っています。Angularがファイルを保存する方法を理解するのに問題があります。
リクエストは問題ありません(MVCで正常に動作し、受信したデータをログに記録できます)が、ダウンロードしたデータを保存する方法がわかりません(私はこの投稿と同じロジックに従っています)。私はそれが愚かなほど単純であると確信していますが、今のところそれを単に把握していません。
コンポーネント関数のコードは以下のとおりです。私はブロブの方法は、私の知る限り理解されるように移動するための方法である必要があり、別の選択肢を試してみたが、機能はありませんcreateObjectURL
でURL
。URL
ウィンドウ内での定義を見つけることさえできませんが、明らかに存在しています。FileSaver.js
モジュールを使用すると、同じエラーが発生します。これは最近変更されたか、まだ実装されていないものだと思います。A2でファイルの保存をトリガーするにはどうすればよいですか?
downloadfile(type: string){
let thefile = {};
this.pservice.downloadfile(this.rundata.name, type)
.subscribe(data => thefile = new Blob([data], { type: "application/octet-stream" }), //console.log(data),
error => console.log("Error downloading the file."),
() => console.log('Completed file download.'));
let url = window.URL.createObjectURL(thefile);
window.open(url);
}
完全を期すために、データをフェッチするサービスを以下に示しますが、サービスが実行するのは、要求を発行し、成功した場合はマッピングせずにデータを渡すことだけです。
downloadfile(runname: string, type: string){
return this.authHttp.get( this.files_api + this.title +"/"+ runname + "/?file="+ type)
.catch(this.logAndPassOn);
}