2016-09-13 4 views
0

Ich kann die XML-Datei mit HTTP-Get-Methode erhalten und es als Blob übergeben. Ich kann die window.open-Methode nicht verwenden, da sie die XML-Datei im Webbrowser öffnet.So speichern Sie eine XML-Datei in Angular2 im Dateisystem

Ich weiß, es ist eine FileSaver- Komponente für AngularJS, aber es funktioniert nicht in Angular2.

Bitte Hilfe

Das ist mein Service-Aufruf ist.

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

Mögliches Duplikat von [Javascript: Erstelle und speichere Datei] (http://StackOverflow.com/questions/13405129/javascript-create-and-save-file) – rinukkusu

+0

Ja, ich habe viel Recherche im Internet gemacht, aber habe noch keine funktionierende Lösung gefunden. Ich habe versucht, die Antworten in dieser Frage, aber nicht den richtigen Weg gefunden, eine Datei mit Typoskript zu speichern. –

Antwort

0

Könnten Sie versuchen:

>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)); 
} 

Sorry, wenn es Fehler gibt.

Verwandte Themen