2017-08-23 5 views
0

これは、角度2でファイルをダウンロードするコードです。このコードを使用してpdf、txt、docx、excelファイルをダウンロードします。私はファイルセーバーを使用したので、ボタンをクリックすると異なるファイルをダウンロードできます。角2で複数のファイルをダウンロードする方法

public downloadCSVFile() 
    { 
     this.downloadPdf().subscribe(
     (res) => 
     { 
      //console.log(res); 
      saveAs(res,'Frontend.xlsx') 
     } 
    ); 
    } 

    public downloadPdf(): any 
    { 
     let urls='assets/Files/Frontend.xlsx' 
     let headers = new Headers(); 
     //headers.append('Authorization', 'JWT ' + localStorage.getItem('id_token')); 
     return this.http.get(urls, { headers: headers,responseType: ResponseContentType.Blob }).map(
     (res) => { 
      return new Blob([res.blob()], { type: 'application/vnd.ms-excel' }) 
     }) 
    } 

これは私のHTMLコードですので、どうやって別のファイルをダウンロードするのですか?テーブルに表示されるファイル名のように、腐食性のあるファイルをダウンロードしたい。

<tr *ngFor ="let mydrive of providerMyDrive"> 
     <td>{{ mydrive.name }}</td> 
     <td>{{ mydrive.filetype }}</td> 
     <td>{{ mydrive.size }}</td> 
     <td>{{ mydrive.uploaddate }}</td> 
     <td><input type="button" (click)="downloadCSVFile()" value="Download"></td> 
     <td></td> 
     </tr> 

答えて

0

だけでリンクを作成し、それをクリックしてください:

this.storageService.downloadFile(path).subscribe(
     res => { 
     let link = document.createElement('a'); 
     link.href = window.URL.createObjectURL(res.blob()); 
     link.download = path; 

     link.click(); 
     }, error => this.globalService.errorSubject.next(error) 
    ); 
関連する問題