2017-03-24 4 views
0

Ich benutze das AWS-SDK, um vor-signierte Download-URL von S3 zu generieren und und ich habe diesen Teil bereits getan. Ich kann die generierte vorzeichenbehaftete URL in den Browser kopieren und der Chrome wird die Datei automatisch herunterladen.angular2 Download-Objekt mit vor-signierten URL von s3

Ich möchte das gleiche in Angular2 erreichen, im Grunde simulieren, klicken Sie auf diesen Link. Also schrieb ich den folgenden Code:

app.component.ts

public downloadFile() { 
    this.downloadService.downloadFile(this.downloadLink) 
    .subscribe((response) => { 
     console.log(response); 
    });} 

download.service.ts

public downloadFile(downloadLink: string) { 
     return this.http.get(downloadLink) 
     .map((response) => { 
      return response; 
     }); 
    } 

es in der Tat den Inhalt der Datei in der Konsole ausgegeben, aber es hat nicht das Herunterladen auslösen. Hat jemand eine Idee, wie man das richtig macht?

Danke,

+0

Was ist der Typ der Datei, die Sie herunterladen möchten? – Mehari

Antwort

0

Hier ist ein Beispiel einer CSV-Datei, um den MIME-Typen für Ihre eigene Datei ändern herunterladen.

public downloadFile(downloadLink: string) { 
     return this.http.get(downloadLink) 
     .map((response) => { 
      let blob = new Blob([response], { type: 'text/csv' }); 
      let url= window.URL.createObjectURL(blob); 
      window.open(url); 
     }); 
    }