2016-09-13 4 views
0

Я могу получить XML-файл с помощью метода HTTP get и передать его как Blob. Я не могу использовать метод window.open, поскольку он открывает XML-файл в веб-браузере.Как сохранить файл XML в Angular2 в файловой системе

Я знаю, что есть FileSaver компонент для AngularJS, но он не работает в Angular2.

Пожалуйста, помогите

Это мой служебный звонок.

public downloadXMLFile(): Promise<Blob> { 
 
    return this.http.get('this.downloadURL').toPromise() 
 
     .then((r: Response) => new Blob([r.text()], {type: 'application/xml'})) 
 
     .catch(error => console.log(error)); 
 
}

+0

Возможный дубликат [Javascript: создание и сохранение файла] (http://stackoverflow.com/questions/13405129/javascript-create-and-save-file) – rinukkusu

+0

Да, я провел много исследований в Интернете, но пока не нашел рабочего решения. Я попробовал ответы в этом вопросе, но не нашел правильный способ сохранить файл с помощью машинописного текста. –

ответ

0

Не могли бы вы попробовать:

>npm install file-saver --save 
>npm install @types/file-saver --save 


import { saveAs } from 'file-saver'; 
. 
. 
public downloadXMLFile(): Promise<Blob> { 
    return this.http.get('this.downloadURL').toPromise() 
     .then((r: Response) => { 
      new Blob([r.text()], {type: 'application/xml'}); 
      saveAs(file, fileName); 
     }) 
     .catch(error => console.log(error)); 
} 

К сожалению, если есть опечатки.

Смежные вопросы