Saya memiliki aplikasi WebApi / MVC yang saya kembangkan klien angular2 (untuk menggantikan MVC). Saya mengalami beberapa masalah memahami bagaimana Angular menyimpan file.
Permintaannya ok (berfungsi baik dengan MVC, dan kami dapat mencatat data yang diterima) tapi saya tidak tahu bagaimana cara menyimpan data yang diunduh (saya kebanyakan mengikuti logika yang sama seperti pada posting ini ). Saya yakin itu sangat sederhana, tapi sejauh ini saya tidak mengerti.
Kode fungsi komponen di bawah ini. Saya sudah mencoba berbagai alternatif, cara gumpalan harus menjadi cara untuk pergi sejauh yang saya mengerti, tetapi tidak ada fungsi createObjectURL
di dalamnya URL
. Saya bahkan tidak dapat menemukan definisi URL
di jendela, tetapi ternyata itu ada. Jika saya menggunakan FileSaver.js
modul saya mendapatkan kesalahan yang sama. Jadi saya kira ini adalah sesuatu yang berubah baru-baru ini atau belum diimplementasikan. Bagaimana saya bisa memicu penyimpanan file dalam 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);
}
Demi kelengkapan, layanan yang mengambil data ada di bawah ini, tetapi satu-satunya yang dilakukannya adalah mengeluarkan permintaan dan meneruskan data tanpa memetakan jika berhasil:
downloadfile(runname: string, type: string){
return this.authHttp.get( this.files_api + this.title +"/"+ runname + "/?file="+ type)
.catch(this.logAndPassOn);
}