У меня есть приложение WebApi / MVC, для которого я разрабатываю клиент angular2 (вместо 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);
}