2017-03-24 38 views
0

私はS3から事前に署名されたダウンロードURLを生成するためにAWS SDKを使用しています。生成された事前署名されたURLをブラウザにコピーすると、chromeが自動的にファイルをダウンロードします。angular2 s3の署名済みURLを使用してオブジェクトをダウンロードします。

Angular2で同じことを達成したいと思っていますが、基本的にそのリンクをクリックしてシミュレートします。だから私は、次のコードを書いた:

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

それが実際にコンソールでファイルの内容をプリントアウトしたが、それはしませんでしたダウンロードをトリガーします。誰かがそれを行う正しい方法は何か考えていますか?ここで

おかげで、

+0

ダウンロードしようとしているファイルの種類 – Mehari

答えて

0

は、独自のファイルのMIMEタイプを変更するCSVファイルをダウンロードするための一例です。

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); 
     }); 
    } 
関連する問題