(MVC değiştirmek için) bir açısal2 istemci geliştiriyorum bir WebApi / MVC uygulaması var. Angular'ın bir dosyayı nasıl kaydettiğini anlama konusunda bazı sorunlar yaşıyorum.
İstek tamam (MVC ile iyi çalışıyor ve alınan verileri kaydedebiliriz) ama indirilen verileri nasıl kaydedeceğimizi anlayamıyorum (çoğunlukla bu yazıda olduğu gibi aynı mantığı takip ediyorum ). Eminim aptalca basit, ama şimdiye kadar basitçe kavramıyorum.
Bileşen işlevinin kodu aşağıdadır. Ben damla yolu bildiğim kadarıyla anlamış olarak gitmek için yol olmalıdır, farklı alternatifler denedim ama hiçbir işlevi yoktur createObjectURL
içinde URL
. URL
Pencerenin tanımını bile bulamıyorum , ama görünüşe göre var. FileSaver.js
Modülü kullanırsam aynı hatayı alıyorum. Bu yüzden sanırım bu son zamanlarda değişen veya henüz uygulanmayan bir şey. A2'de dosya kaydetmeyi nasıl tetikleyebilirim?
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);
}
Tamlık uğruna, verileri getiren hizmet aşağıdadır, ancak yaptığı tek şey isteği vermek ve başarılı olursa verileri eşlemeden iletmektir:
downloadfile(runname: string, type: string){
return this.authHttp.get( this.files_api + this.title +"/"+ runname + "/?file="+ type)
.catch(this.logAndPassOn);
}